编写python程序 通过Python控制台输入一个大子1的整数n, 然后产生一个二维列表。n*n,依次排列。例如,输入的整效是3,会产生 [1,2,3] [4,5,6] [7,8,9] 产生完列表后,会互换二维列表中的行列元素值。如将上面的二维列表互换行列值的结果如,[1,4,7] [2,5,8] [3,6,9](这里以n=3运行)
方法1:
n = input("请输入一个大于1的数:")
for i in range(1, int(n) + 1):
numberi = [x + (i - 1) * int(n) for x in range(1, int(n) + 1)]
print(numberi)
print()
for h in range(1, int(n) + 1):
numberh = [h+ int(n)*(x-1)for x in range(1, int(n) + 1)]
print(numberh)
我的思路是这样
子,先for循环打印[1,2,3] [4,5,6] [7,8,9] 二维表,在用for循环打印[1,4,7] [2,5,8] [3,6,9]2维表,这个方法实际上并没有交换行列值,只是打印出来看上去交换了
运行结果如图
方法2:行列互换
n = input("请输入一个大于1的数:")
a = []
for i in range(1, int(n) + 1):
numberi = [x + (i - 1) * int(n) for x in range(1, int(n) + 1)]
a+=[numberi]
print(numberi)
print()
for k in range(int(n)):
print([a[h][k] for h in range(int(n))])
定义了一个序列a,用来保存生成的number序列,a最后结果为
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
然后再来行列互换。