Python 半棱锥数字列倍数

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

需要帮助创建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

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)试图接近原文,主要是指出不起作用的东西。。。