半金字塔数列倍数

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


梵蒂冈之花
浏览 126回答 2
2回答

胡子哥哥

你的内部循环错了。考虑到外循环代表行号,内循环应该从行号开始,每次按行号递增,直到行号的平方: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

料青山看我应如是

你快到了!只是一些小的调整: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
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python