头歌平台中一个题目:编程输入正整数N(N<100),输出一个N阶下三角方阵,输出格式请参考样例 。 的解法
时间: 2024-10-18 12:19:21 浏览: 46
在头歌平台上解决这个问题,你可以利用Python的列表推导式和字符串格式化来生成下三角形的矩阵。首先,你需要一个循环结构来确定每个位置的数值,然后根据该数值是否小于10或介于10到20之间,决定是否添加额外的空格。以下是相应的Python代码:
```python
def print_triangle(n):
# 创建一个二维数组表示矩阵
triangle = [[0] * (i+1) for i in range(n)]
# 使用列表推导式填充矩阵,考虑空格
for i in range(n):
for j in range(i+1):
num = (i*(i+1))//2 + j # 计算下三角形位置的数值
if num < 10:
triangle[i][j] = str(num) + ' '
elif 10 <= num < 20:
triangle[i][j] = str(num)
# 打印矩阵,每一行拼接成一个字符串
for row in triangle:
print(''.join(row))
# 输入验证
n = int(input("请输入一个小于100的正整数:"))
if n < 1 or n >= 100:
print("输入无效,N应小于100")
else:
print_triangle(n)
```
在这个代码中,我们首先初始化一个空的N阶二维列表作为矩阵,然后通过两个嵌套循环遍历矩阵,计算每个元素的值并根据规则添加适当的空间。最后,我们将每行的元素连接成一个字符串并打印出来。
阅读全文