|
发表于 2023-4-28 14:36:40
|
显示全部楼层
您的代码中的问题是在打印三角形的每一行时,没有根据索引(奇数或偶数)正确地调整空格。为了在奇数索引处插入空格,请尝试将`j % 2 == 1`这部分移到打印数字之前,同时删除其内部的空格。这是修复后的代码:
- triangle = []
- for i in range(10):
- triangle.append([])
- for j in range(10):
- triangle[i].append(0)
- for i in range(10):
- triangle[i][0] = 1
- triangle[i][i] = 1
- for i in range(2, 10):
- for j in range(0, i + 1):
- triangle[i][j] = triangle[i - 1][j - 1] + triangle[i - 1][j]
- for i in range(10):
- for k in range(9 - i):
- print(' ', end= ' ')
- for j in range(i + 1):
- if j % 2 == 1:
- print(' ', end=' ')
- print(triangle[i][j], end=' ')
- print()
复制代码
修复后的代码:
- triangle = []
- for i in range(10):
- triangle.append([])
- for j in range(10):
- triangle[i].append(0)
- for i in range(10):
- triangle[i][0] = 1
- triangle[i][i] = 1
- for i in range(2, 10):
- for j in range(1, i):
- triangle[i][j] = triangle[i - 1][j - 1] + triangle[i - 1][j]
- for i in range(10):
- for k in range(9 - i):
- print(' ', end= ' ')
- for j in range(i + 1):
- if j % 2 == 1:
- print(' ', end=' ')
- print(triangle[i][j], end=' ')
- print()
复制代码
修复后的输出:
- 1
- 1 1
- 1 2 1
- 1 3 3 1
- 1 4 6 4 1
- 1 5 10 10 5 1
- 1 6 15 20 15 6 1
- 1 7 21 35 35 21 7 1
- 1 8 28 56 70 56 28 8 1
- 1 9 36 84 126 126 84 36 9 1
复制代码 |
|