我要求编写一个打印以下内容的循环系统:
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8
0 1 2 3 4 5 6 7
0 1 2 3 4 5 6
0 1 2 3 4 5
0 1 2 3 4
0 1 2 3
0 1 2
0 1
0
但是,我的脚本会打印出来:
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8
0 1 2 3 4 5 6 7
0 1 2 3 4 5 6
# ... and so on
要修复的代码是:
for row in range(10):
for column in range(row):
print ''
for column in range(10-row):
print column,
答案 0 :(得分:5)
你有太多的循环,你只需要两个:
for row in range(10):
for column in range(10-row):
print column,
print("")
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8
0 1 2 3 4 5 6 7
0 1 2 3 4 5 6
0 1 2 3 4 5
0 1 2 3 4
0 1 2 3
0 1 2
0 1
0
或者从将来导入适用于python2.7和3的打印:
from __future__ import print_function
for row in range(10):
for column in range(10-row):
print(column,end=" ")
print()
如果你想要一个班轮,你可以使用join:
print("\n".join([" ".join(map(str,range(10-row))) for row in range(10)]))
答案 1 :(得分:0)
你也可以在python 3.x中尝试这个:
num = 9
for a in range(num, -1, -1):
for b in range(0, a + 1):
print(b, end=' ')
print()