数字塔
输入一个数字,输出一个金字塔例如输入3:
输出
1
121
12321
输入的数字a不大于9 要输出金字塔,可以按行逐个打印数字。每一行的数字由前一行的数字变化而来。
首先,我们需要计算每一行的数字个数。第一行只有一个数字,第二行有三个数字,第三行有五个数字,以此类推。所以,第n行的数字个数应该是 2n-1。
接下来,我们需要确定每一行的数字是如何变化的。第一行的数字为1,这个比较简单。对于后面的行,我们可以看出数字是先递增到中间值,然后递减回去。例如,第二行的数字是从1开始递增到2,然后再递减回到1;第三行的数字是从1开始递增到3,然后再递减回到1。所以,我们可以使用两个循环,分别用来递增和递减数字。
根据上述思路,我们可以编写如下的代码:
def print_pyramid(num):
# 计算每一行的数字个数
digit_count = num * 2 - 1
for i in range(1, num + 1):# 控制行数
row = ''
for j in range(1, i + 1):# 递增部分
row += str(j)
for k in range(i - 1, 0, -1):# 递减部分
row += str(k)
# 输出当前行
print(row.center(digit_count))
# 测试代码
num = int(input("请输入金字塔的层数:"))
print_pyramid(num)
在上面的代码中,我们使用了两个循环来控制数字的递增和递减。其中,第一个循环控制行数,第二个循环用来递增数字,而第三个循环则用来递减数字。最后,我们使用字符串的`center`方法来使每一行的数字居中显示。
希望能帮到你!
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页:
[1]