Python 半棱锥数字列倍数
需要帮助创建9列下降半金字塔。 第一列必须计数为1-9。 然后,每一行他们都应该继续以该倍数开始计数。谢谢你的帮助Python 半棱锥数字列倍数,python,Python,需要帮助创建9列下降半金字塔。 第一列必须计数为1-9。 然后,每一行他们都应该继续以该倍数开始计数。谢谢你的帮助 for num in range(10): for i in range(num): print (num, end=" ") print("\n") >Current output 1 2 2 3 3 3 4 4 4 4 5 5 5 5 5 6 6 6 6 6 6 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8
for num in range(10):
for i in range(num):
print (num, end=" ")
print("\n")
>Current output
1
2 2
3 3 3
4 4 4 4
5 5 5 5 5
6 6 6 6 6 6
7 7 7 7 7 7 7
8 8 8 8 8 8 8 8
9 9 9 9 9 9 9 9 9
>I need it to output as:
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 27 35 42
8 16 24 32 40 48 56 64
9 18 27 36 45 54 63 72 81
你就快到了!只是一些小的调整:
for mul in range(1, 10):
for i in range(1, mul+1):
print (i * mul, end=" ")
print("\n")
您需要打印的是i*mul
;而范围
需要从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
你的内部循环搞错了。考虑到外环代表行号,内环应从行号开始,每次按行号递增,直到行号的平方:
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
你认为这两排之间有什么共同点吗?第二行数字之间有2个间隔,第三行数字之间有3个间隔…顺便说一句,你应该修改你的乘法表6.:)我想比较一下这两个应答码。只是问一下,在循环上下文中(如在我的代码中)执行乘法不是比每次在循环中执行乘法更有效吗?@Austin我同意!(+1)试图接近原文,主要是指出不起作用的东西。。。