list1 = [] #定义一个空列表
str1 = input("请输入数值,用空格隔开:")
list2 = str1.split(" ") #list2用来存储输入的字符串,用空格分割
list2_length = len(list2)
i = 0
while i <= list2_length-1:
list1.append(int(list2.pop())) #将list2中的数据转换为整型并赋值给list1
i += 1
list1.reverse()
import math
a=int(math.sqrt(len(list1)))
import numpy
A = numpy.array(list1).reshape(a,a)
#print(A)
B =A.diagonal()#获取对角线元素,组成向量
#print(B)
if numpy.all(B==1):
print ('是自反性')
elif numpy.all(B==0):
print ('是反自反性')
if (A==A.T).all():
print('是对称性')
flag1=0
for i in range(0,a):
for j in range(0,a):
if A[i,j]==1 and i!=j and A[j,i]==0:
flag1=1
if(i==a-1 and j==a-1 and flag1==1):
print('是反对称性')
C=A.dot(A)
flag2=1
for i in range(0,a):
for j in range(0,a):
if C[i,j]==1 and A[j,i]!=1:
flag2=0
if(i==a-1 and j==a-1 and flag2==1):
print('是传递性')