python - 身份或非身份矩阵
问题描述
所以基本上我想编写一个程序来使用列表显示矩阵并打印出矩阵是否是单位矩阵。
R = int(input('Enter no. of rows:'))
C = int(input('Enter no of columns:'))
print('Enter row wise entries:')
Mat = []
for i in range(R):
a = []
for j in range(C):
a.append(int(input()))
Mat.append(a)
for i in range(R):
for j in range(C):
print(Mat[i][j], end=' ')
print()
for i in range(R):
for j in range(C):
if i != j and Mat[i][j] != 0 or i == j and Mat[i][j] == 1:
break
print('Identity Matrix')
我能够打印出矩阵,但无法正确检查它是否是一个身份。请检查我的代码并告诉我出了什么问题。
解决方案
您的解决方案似乎真的很接近我!
我唯一会改变的是:
- 检查列数是否==行数
- 在 if 语句的第二部分检查每个元素是否检查 i==j 和 Mat[i][j] == 1,但正确检查不是身份的矩阵应该是 Mat[i][j] != 1
- 在您所做的检查中添加一个标志以跟踪矩阵是否是同一性的
R = int(input('Enter no. of rows:'))
C = int(input('Enter no of columns:'))
print('Enter row wise entries:')
Mat = []
for i in range(R):
a = []
for j in range(C):
a.append(int(input()))
Mat.append(a)
for i in range(R):
for j in range(C):
print(Mat[i][j], end=' ')
print()
isIdentity = True
if C == R: # change 1
for i in range(R):
for j in range(C):
if (i != j and Mat[i][j] != 0) or (i == j and Mat[i][j] != 1): # change 2
isIdentity = False # change 3
break
else:
isIdentity = False
if isIdentity:
print('Identity Matrix')
else:
print('Not Identity Matrix')
推荐阅读
- vb.net - 关闭所有打开的表单,除了一些 VB.Net
- dynamics-crm - 无法导入解决方案 - 依赖组件 SavedQuery (Id=xxxx) 不存在
- python - 使用 sklearn 数组问题的线性回归
- android - 环境 getExternalStorageDirectory 不工作
- javascript - 为什么 e.target.value 只捕获 reactjs 中字符串输入中的第一个字母
- selenium - 如何将 Docker 中的 Behat 和 Mink 链接到 Selenium
- javascript - 从函数 Vue 更新计算方法
- vb.net - 在代码编辑器中修改了 Forms.UserControl 的 Designer.vb,现在设计视图在 Visual Studio 2017 中不可见
- powershell - Outlook 对象模型
- html - 用文本值替换三个点