1 #题目:求一个3*3矩阵对角线元素之和.python
代码:app
2 3 li = [] 4 for i in range(1,4): 5 for j in range(1,4): 6 li.append(int(input('请输入第%d行第%d个数:'%(i,j)))) 7 print(li) 8 sum = 0 9 for i in range(10): 10 if i%2 == 0: 11 sum += li[i] 12 print ('对角线之和为%d'%sum)
运行结果:ide
[root@HK code_100]# python code_38.py 请输入第1行第1个数:5 请输入第1行第2个数:7 请输入第1行第3个数:9 请输入第2行第1个数:4 请输入第2行第2个数:3 请输入第2行第3个数:6 请输入第3行第1个数:9 请输入第3行第2个数:55 请输入第3行第3个数:42 [5, 7, 9, 4, 3, 6, 9, 55, 42] 对角线之和为68 [root@HK code_100]#
代码解释:code
#思路:将这个3*3矩阵按照行添加到一个list中,那么对角线之和就是这个list中下标为偶数的元素的和 2 3 li = [] #建立一个空列表,用来存数输入的3*3矩阵 4 for i in range(1,4): #遍历矩阵的三行 5 for j in range(1,4): #遍历矩阵每行的三个元素 6 li.append(int(input('请输入第%d行第%d个数:'%(i,j)))) #将这个矩阵按顺序接收到list中 7 print(li) #打印矩阵list,供参考 8 sum = 0 #定义对角线和为sum,赋值为0 9 for i in range(10): #遍历列表list的下标 10 if i%2 == 0: #取出能够被2整除的下标的元素 11 sum += li[i] #取出的元素累加 12 print ('对角线之和为%d'%sum) #打印这个3*3的矩阵对角线之和