Ben*_*eno 2 python python-2.7 python-3.x
如果标题有点误导,请原谅我,但我对相关的标题名称有点不确定.
我试图围绕一些像文本片段的文本框:
Die1 = random.randint(1,10)
Die2 = random.randint(1,10)
Die3 = random.randint(1,10)
if Die1 > Die2:
print ("+------------------------------+")
print ("| Die 1: | | Die 2 |")
print ("| %d | | %d |" % (Die1,Die2))
print ("+------------------------------+")
else:
print ("+------------------------------+")
print ("| Die 1: | | Die 2 |")
print ("| %d | | %d |" % (Die1,Die2))
print ("+------------------------------+")
Run Code Online (Sandbox Code Playgroud)
如果我得到1位数字的结果,这都是花花公子:
+------------------------------+
| Die 1: | | Die 2 |
| 2 | | 6 |
+------------------------------+
Run Code Online (Sandbox Code Playgroud)
然而,twp数字将给我这个:,另一个空间将被推出两个十.
+------------------------------+
| Die 1: | | Die 2 |
| 10 | | 2 |
+------------------------------+
Run Code Online (Sandbox Code Playgroud)
我可以这样做:
if Die1 > Die2 and Die1 or Die2 == 10:
print ("+------------------------------+")
print ("| Die 1: | | Die 2 |")
print ("| %d | | %d |" % (Die1,Die2))
print ("+------------------------------+")
Run Code Online (Sandbox Code Playgroud)
等......但我确信有更实际的方法可以做到这一点.
有没有办法使用单个数字来表示&s?和/或一些填充,以便在需要时允许第二个数字.
我在这个问题上看过Python Doc,我读了一些0的填充选项,但没有什么能直接帮助我.
您可以使用该string.format函数填充空格:(请注意,此函数在python 2和python 3中都有效)
"| {0: >2d} | | {1: >2d} |".format(Die1,Die2)
Run Code Online (Sandbox Code Playgroud)
在{}s中,0并且1表示正在引用哪个参数,冒号后面的空格是填充字符,>意味着右对齐文本,2是文本的宽度,并d指定参数是整数.
示例输出:
| 2 | | 9 | | 10 | | 12 |
| 归档时间: |
|
| 查看次数: |
1461 次 |
| 最近记录: |