首页 新闻 搜索 专区 学院

python-矩阵条件判断

0
悬赏园豆:5 [已关闭问题] 关闭于 2020-09-20 16:38

import math
error=True
while error:
n=int(input('请输入矩阵行数n: '))
str1=input('请输入nn个数字 用空格隔开 :')
x=[int(i) for i in str1.split(' ')]
# 以空格为间隔 读取所输入的数字
y=math.floor(math.sqrt(len(x)))
# 将所读取的数字个数进行开方 并返回开放后的下舍整数 目的是为了检测所输入的数字个数是否与输入的n
2相等
if y==n and y != 1:
error=False
# 当所输入的数字个数与n**n相等 跳出循环 否则提示用户输入数字个数有误
else:
print('您输入的数字个数有错误 无法构成nn矩阵')
xx=[]
for i in range(y):
xy=[]
for j in range(y):
xy.append(x[i
y+j])
xx.append(xy)
# 将每行数字储存进xx列表

print(xx)

sum=0
for i in range(y):

if i = y-1-i:

    # 两个分别代表从\和/方向开始
    sum+=xx[i][i]
    # 这里使用if是为了防止重复计算 例如3**3矩阵中计算两个对角线和时xx[1][1]是计算了两次的 所以当两个值相等时只相加一次就可以
else:
    sum+=xx[i][i]+xx[y-1-i][i]

print(sum)

这个代码是求矩阵对角线的和 在上面if i=y-1-i 是为了判断两对角线重合数字重复相加 但是他老是提示格式错误 这样写有错吗? 望大佬讲解

厄文的主页 厄文 | 初学一级 | 园豆:167
提问于:2020-09-20 16:36
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册