Python记两道入门练习题(转置矩阵与求最大公约数),前提是在有限知识的情况下,只会一维列表的情况下,也只会基础循环与多分支判断的情况下,对于刚入门的小学生和初中生是有一定难度的,主要是列表的操作和维度的转换他们不大熟悉,所以记之。
(1)给定一个矩阵,将矩阵转置并输出
如 12345
67890
12345
67890
输出为 5050
4949
3838
2727
1616
代码如下:
m = int(input("请输入行数"))
n = int(input("请输入列数"))
b_list = []
for i in range(m):
a = list(input().split(" "))
b_list.extend(a)
print(b_list)
a_list =[]
for i in range(m):
for j in range(n):
a_list.append(b_list[(m-i-1)+(j*m)])
for i in range(n*m):
print(a_list[i],end="")
if((i+1)%m==0 and i!=0):
print()
(2)求两个数的最大公约数
代码如下:
a_number = int(input("请输入第一个数字:"))
b_number = int(input("请输入第二个数字:"))
a = []
b = []
for i in range(a_number,1,-1):
if(a_number%i==0):
a.append(i)
for i in range(b_number,1,-1):
if(b_number%i==0):
b.append(i)
a_len = len(a)
b_len = len(b)
flag = 0
for i in range(a_len):
if(flag):
break;
for j in range(b_len):
if(a[i]==b[j]):
print('最大公约数是:',a[i])
flag = 1
break