2 回答

TA贡献1825条经验 获得超6个赞
你的内部循环错了。考虑到外循环代表行号,内循环应该从行号开始,每次按行号递增,直到行号的平方:
for num in range(1, 10):
for i in range(num, num*num+1, num):
print(i, end=" ")
print("\n")
# 1
# 2 4
# 3 6 9
# 4 8 12 16
# 5 10 15 20 25
# 6 12 18 24 30 36
# 7 14 21 28 35 42 49
# 8 16 24 32 40 48 56 64
# 9 18 27 36 45 54 63 72 81

TA贡献1772条经验 获得超8个赞
你快到了!只是一些小的调整:
for mul in range(1, 10):
for i in range(1, mul+1):
print (i * mul, end=" ")
print("\n")
你需要打印的是i * mul;以及range开始1和停止的需要(即之前的一个)mul+1。
更紧凑和整齐地对齐:
for mul in range(1, 10):
print(' '.join(f'{mul*i:2d}' for i in range(1, mul+1)))
这输出:
1
2 4
3 6 9
4 8 12 16
...
9 18 27 36 45 54 63 72 81
添加回答
举报