.csv
Bob Carol Leanne Mark Paul Will
Carol Leanne Mark
Farley Paul
Leanne Sarai
Larry Carol Leanne Mark Will
Mark Philip Zach
Paul Zach
Will Leanne Mark
Zach Philip
# coding:utf-8
import csv
ha_work=[]
ddd=[]
f=open(r"./DataSet1.txt","w")
f1 = open('ha_work.csv','r')
reader = csv.reader(f1)
for i in reader:
ddd=[]
for j in range(len(i)):
if(i[j]!=""):
ddd.append(i[j])
ha_work.append(ddd)
flag=0
for j in range(len(i)-1):
if i[j+1]=="":
flag=j+1
break
if i[len(i)-1]!="":
flag=len(i)
for j in range(flag):
if j==0:
f.writelines("{} had contact with ".format(i[j]))
else:
if j+2>flag:
f.writelines("{}".format(i[j]))
break
if j+2<flag:
f.writelines("{}, ".format(i[j]))
if j+2==flag:
f.writelines("{} and {}".format(i[j], i[j + 1]))
break
f.writelines("\n")
f1.close()
ha_ha={}
for k in ha_work:
for j in k:
ha_ha[j]=0
ha_head={}
for k in ha_work:
ha_head[k[0]]=0
# print(ha_head)
ha_num={}
ha_num=ha_ha
changed=True
# print(ha_num)
while(changed):
changed=False
# haz_num=ha_ha
for p1 in ha_head.keys():
for i in range(len(ha_work)):
if p1==ha_work[i][0]:
for j in range(len(ha_work[i])-1):
if ha_ha[p1]<=ha_ha[ha_work[i][j+1]]:
ha_ha[p1]=ha_ha[ha_work[i][j+1]]+1
changed=True
# print(ha_ha)
# print(ha_work)
po_head={}
ha_ha=sorted(ha_ha.items(), key=lambda d:d[1], reverse = True )
# for i in ha_ha:
# print(i,": {}".format(ha_ha[i]))
## 潜在的
f.writelines("Patient Zero(s):")
for p1 in ha_head.keys():
flag=True
# for i in range(len(ha_work)):
for i in range(len(ha_work)):
if p1 in ha_work[i][1:]:
flag=False
if flag:
f.writelines(" {}".format(p1))
po_head[p1]=0
f.writelines("\n")
f.writelines("Potential Zombies:")
for i in ha_ha[:]:
if i[1]==0:
f.writelines(" {}".format(i[0]))
po_head[i[0]]=0
# if(ha_ha[i][1]==0):
# print(ha_ha[i][0],": ",ha_ha[i][1])
f.writelines("\n")
f.writelines("Neither Patient Zero or Potential Zombie:")
for j in range(len(ha_ha)):
if ha_ha[j][0] not in po_head.keys():
f.writelines(" {}".format(ha_ha[j][0]))
f.writelines("\n")
j = -99999999
jj=-1
temp=0
for i in range(len(ha_work)):
jj=j
j=max(len(ha_work[i][1:]),j)
if jj!=j:
temp=i
# print(j)
f.writelines("Most viral People: {}\n".format(ha_work[temp][0]))
# for i in range(len(ha_ha)):
dec={}
for i in range(len(ha_work)):
for j in range(len(ha_work[i][1:])):
dec[ha_work[i][j+1]]=0
for i in range(len(ha_work)):
for j in ha_work[i][1:]:
dec[j]+=1
# print(ha_work[i][1:])
kkk=-99999999
for i in dec:
kkk=max(dec[i],kkk)
f.writelines("Tastiest:")
for j in dec.items():
if j[1]==kkk:
f.writelines(" {}".format(j[0]))
f.writelines("\n")
f.writelines("Heights:\n")
for i in range(len(ha_ha)):
f.writelines(" {}: {}\n".format(ha_ha[i][0],ha_ha[i][1]))
DataSet1.txt:
Bob had contact with Carol, Leanne, Mark, Paul and Will
Carol had contact with Leanne and Mark
Farley had contact with Paul
Leanne had contact with Sarai
Larry had contact with Carol, Leanne, Mark and Will
Mark had contact with Philip and Zach
Paul had contact with Zach
Will had contact with Leanne and Mark
Zach had contact with Philip
Patient Zero(s): Bob Farley Larry
Potential Zombies: Sarai Philip
Neither Patient Zero or Potential Zombie: Carol Will Mark Paul Leanne Zach
Most viral People: Bob
Tastiest: Leanne Mark
Heights:
Bob: 4
Larry: 4
Carol: 3
Will: 3
Farley: 3
Mark: 2
Paul: 2
Leanne: 1
Zach: 1
Sarai: 0
Philip: 0