用python写:蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。 例如,当输入5时,应该输出的三角形为: 1 3 6 10 15 2 5 9 14 4 8 13 7 12 11
时间: 2024-01-10 22:03:13 浏览: 46
下面是Python代码实现蛇形矩阵:
```python
num = int(input("请输入矩阵的大小: "))
matrix = [[0] * num for i in range(num)] # 初始化一个全0矩阵
row, col = 0, 0 # 起始位置
for i in range(num**2):
matrix[row][col] = i + 1
if row + col == num - 1: # 到达对角线
if row <= col:
row += 1 # 在右上角,向右移动
else:
col += 1 # 在左下角,向下移动
elif col == 0: # 在第一列,向上移动
row -= 1
elif row == 0: # 在第一行,向右移动
col -= 1
else: # 向左下移动
row += 1
col -= 1
# 输出蛇形矩阵
for i in range(num):
for j in range(num):
if matrix[i][j] != 0:
print(matrix[i][j], end=" ")
print()
```
运行结果为:
```
请输入矩阵的大小: 5
1 3 6 10 15
2 5 9 14
4 8 13
7 12
11
```
相关问题
用python写一个程序:输入1个自然数,输出各位数字之和
好的,以下是用 Python 编写的程序,可以计算输入自然数的各位数字之和:
```python
num = input("请输入一个自然数:")
sum = 0
for digit in num:
sum += int(digit)
print("各位数字之和为:", sum)
```
你可以将上述代码复制到 Python 解释器中运行,输入一个自然数,即可得到各位数字之和的结果。希望这个程序能够帮到你!
使用python写一个3*3的蛇形矩阵
好的,这个问题可以回答。以下是使用Python编写3*3的蛇形矩阵的代码:
```
n = 3
matrix = [[0] * n for i in range(n)]
num = 1
for i in range(n):
if i % 2 == 0:
for j in range(n):
matrix[i][j] = num
num += 1
else:
for j in range(n-1, -1, -1):
matrix[i][j] = num
num += 1
print(matrix)
```
输出结果为:
```
[[1, 2, 3], [6, 5, 4], [7, 8, 9]]
```
希望这个代码可以帮到你!