到目前为止,我已尝试创建一个应该给出的6
倍2
倍的表格。
2 4 6 8 10 12
我目前的代码如下:
i = 1
while i <= 6:
print(2*i ,' \t' , )
i = i + 1
但是outputs
他们vertically
,而不是horizontally
所以:
2
4
6
8
10
12
每个tab
之后还有一个number
。
答案 0 :(得分:1)
您可以使用简单的for-loop
,因为它们比while
循环更适合此应用程序使用Pythonic。
loop
1
与6
和print
number
multiplied
2
之间的数字new-line
空格而不是print
字符。最后,您可以在结束时再调用一个for i in range(1, 7):
print(i * 2, end=' ')
print()
,以便在打印完毕后再移动到下一行。
outputs
2 4 6 8 10 12
:
generator
如果你想在一行中完成这一切,可以使用string.join()
和print(" ".join(str(i*2) for i in range(1, 7)))
。您可能无法完全理解这一点,但以下结果会产生相同的结果:
2 4 6 8 10 12
给出:
1234 1 123 12 12312 123
请注意,最后一点是此方法不能生成均匀间隔的表。为了表明我的意思是&#34;均匀间隔&#34;,这里有一些例子:
不均匀间隔:
1234 1 123 12 12312 123
均匀间隔:
print
为了使输出.ljust
与上面一样,我们可以使用print("".join(str(i*2).ljust(3) for i in range(1, 7)))
:
2 4 6 8 10 12
给出了一个更好的表格:
function
最后,如果你想把它变成更通用的def tbl(num, amnt):
print("".join(str(i*num).rjust(len(str(num*amnt))+1) for i in range(1,amnt+1)))
,你可以这样做:
function
以及此>>> tbl(3, 10)
3 6 9 12 15 18 21 24 27 30
>>> tbl(9, 5)
9 18 27 36 45
>>> tbl(10, 10)
10 20 30 40 50 60 70 80 90 100
的一些示例:
{{1}}