东北有点冻手

.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

Guess you like

Origin blog.csdn.net/nyist_yangguang/article/details/121534784