要求:
第1题:求矩阵中所有数据的最大值,并输出该最大值
第2题:求出矩阵对角线元素(行号等于列号的元素)的和,并输出该和
第3题:将矩阵上三角元素(列号大于等于行号的元素)全变为0值, 并输出该矩阵
第4题:取出矩阵的最后两行,并输出这两行
第5题:删除矩阵的最后一行,并输出删除最后一行之后的矩阵
# -*- coding: utf-8 -*-
"""
Created on Mon Mar 8 09:01:10 2021
@author: hyr
"""
import numpy as np
global tmp2
global lll
tmp1=-655000000000000000000
row=eval(input())#矩阵行数
list2D=[]#嵌套列表,用来存放一个矩阵数据
for i in range(row):#得到每行数据列表
temp=eval(input())
lll=len(temp)-1
tmp2=max(temp)
if tmp2>tmp1:
tmp1=tmp2
list2D.append(temp)
#第1题:请对矩阵list2D中的数据求最大值,并输出该最大值
print(np.max(list2D))
#第2题:求出矩阵对角线元素的和,并输出该和值
num = 0
for i in range(row):
for j in range(row):
a = list2D[i]
b = a[j]
if i == j:
num += b
print(num)
#第3题:将矩阵上三角元素全变为0值, 并输出该矩阵numpy.tril(m, k=0)
for i1 in range(row): #hang
for j1 in range(row): #lie
if j1>=i1:
list2D[i1][j1]=0
for uu in range(0,row):
list2D[uu][lll]=0
if row==4:
try:
list2D[uu][4]=0
list2D[uu][5]=0
list2D[uu][6]=0
list2D[uu][7]=0
list2D[uu][8]=0
except:
pass
for u in range(row):
print(list2D[u])
#第4题:取出矩阵的最后两行,并输出这两行
print(list2D[-2])
print(list2D[-1])
#第5题:删除矩阵的最后一行,并输出删除最后一行之后的矩阵
for yy in range(0,row-1):
print(list2D[yy])