生成一个由10以内随机数字构成的4行3列二维数组,要求如下: 1.输出并交换其中两行的元素(例如第1行和第3行交换),其中要输出和交换的行号由键盘输入(使用eval函数)。 2.最终输出交换后的数组。
时间: 2024-10-13 09:07:49 浏览: 34
首先,我们可以创建一个4行3列的二维数组,然后让用户输入他们想交换的行号。我们将使用`random`模块生成10以内的随机整数填充数组。接下来,我们用`eval()`函数获取用户输入的行号,然后进行交换操作。注意,由于`eval()`函数有安全风险,这里假设用户输入的是有效的整数。
```python
import random
# 创建一个4行3列的二维数组
array = [[random.randint(0, 9) for _ in range(3)] for _ in range(4)]
print("原始数组:")
for i, row in enumerate(array):
print(f"行{i+1}: {row}")
# 获取用户输入的行号
input_rows = input("请输入你想交换的行号(如 '1' 和 '3',用逗号隔开):")
row1, row2 = map(int, input_rows.split(','))
# 检查输入是否有效
if not (1 <= row1 <= 4 and 1 <= row2 <= 4 and row1 != row2):
raise ValueError("无效的行号,请重新输入")
# 交换行
array[row1 - 1], array[row2 - 1] = array[row2 - 1], array[row1 - 1]
# 输出交换后的数组
print(f"\n交换后的数组 ({row1} 行与 {row2} 行交换):")
for i, row in enumerate(array):
print(f"行{i+1}: {row}")
```
运行这段代码后,程序会先显示原始数组,然后提示用户输入要交换的行号,执行交换操作并输出结果。
阅读全文