2024.5.14(周二)
【题目描述】输出n(0<n)行杨辉三角形,n由用户输入。
【练习要求】请给出源代码程序和运行测试结果,源代码程序要求添加必要的注释。
【输入格式】一行中输入1个整数n。
【输出格式】输出n行杨辉三角形,每个数的显示格式:占5位,右对齐。
【输入样例】3
【输出样例】 1 1
1 2 1
1 3 3 1
n = int(input("请输入要打印的杨辉三角的行数: ")) # 初始化杨辉三角的第一行 triangle = [[1]] # 循环生成杨辉三角 for i in range(1, n): # 初始化当前行的第一个元素为1 row = [1] # 循环生成当前行的中间元素 for j in range(1, i): # 当前元素等于上一行中前一个元素和同一位置元素的和 element = triangle[i - 1][j - 1] + triangle[i - 1][j] # 将当前元素加入当前行 row.append(element) # 将当前行的最后一个元素设为1 row.append(1) # 将当前行加入杨辉三角 triangle.append(row) # 循环输出杨辉三角 for i in range(n): # 计算当前行前面需要填充的空格数量 spaces = ' ' * (n - i) # 用join函数将当前行中的数字转为字符串,并用空格连接 # 然后再在前面添加空格,输出当前行 print(spaces + ''.join(map(str, triangle[i]))) n = int(input("请输入要打印的杨辉三角的行数: ")) # 初始化杨辉三角的第一行 triangle = [[1]] # 循环生成杨辉三角 for i in range(1, n): # 初始化当前行的第一个元素为1 row = [1] # 循环生成当前行的中间元素 for j in range(1, i): # 当前元素等于上一行中前一个元素和同一位置元素的和 element = triangle[i - 1][j - 1] + triangle[i - 1][j] # 将当前元素加入当前行 row.append(element) # 将当前行的最后一个元素设为1 row.append(1) # 将当前行加入杨辉三角 triangle.append(row) # 循环输出杨辉三角 for i in range(n): # 计算当前行前面需要填充的空格数量 spaces = ' ' * (n - i) # 用join函数将当前行中的数字转为字符串,并用空格连接 # 然后再在前面添加空格,输出当前行 print(spaces + ''.join(map(str, triangle[i])))