关于#python#的问题:输出一个数字三角形(相关搜索:while循环|for循环)

使用嵌套的while循环和for循环,根据输入的数字,输出一个数字三角形。每一行的数字从1开始递增,
直到该行的行号为止,然后再递减回到1。例 输入5 输出如下结果
1
121
12321
1234321
123454321

可以使用嵌套的循环实现:

n = int(input("请输入一个数字:"))

for i in range(1, n+1):  # 外层循环控制行数
    for j in range(1, i+1):  # 内层循环递增输出
        print(j, end="")
    for k in range(i-1, 0, -1):  # 内层循环递减输出
        print(k, end="")
    print()  # 换行输出

输出结果如下:

1
121
12321
1234321
123454321

for循环和while循环的嵌套写法:

def func(n):
    for i in range(n):
        str1 = ''
        num = 0
        while True:
            if num == i + 1:
                break
            num += 1
            str1 += str(num)

        while True:
            if num <= 1:
                break
            num -= 1
            str1 += str(num)
        print(str1)
if __name__ == '__main__':
    func(9)

【以下回答由 GPT 生成】

解决方案如下:

# 获取输入的行数
n = int(input("请输入行数:"))

# 使用嵌套循环输出数字三角形
for i in range(1, n+1):
    # 循环输出每一行的数字
    for j in range(1, i+1):
        print(j, end="")
    # 循环逆序输出每一行的数字
    for j in range(i-1, 0, -1):
        print(j, end="")
    # 输出换行符
    print()

运行上述代码,用户输入行数为5时,将输出以下结果:

1
121
12321
1234321
123454321

解释:

嵌套的for循环用于控制输出数字三角形的每一行。外层for循环用于控制行数,内层for循环用于控制每行的数字。

每一行从1开始递增,直到该行的行号为止,再递减回到1。内层for循环第一部分用于输出递增的数字,第二部分用于递减的数字。

通过print函数的end=""参数,可以实现在同一行输出数字而不换行。最后在内层循环结束后输出换行符,以开始新的一行的输出。



【相关推荐】



如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^