code section
#建立一个省/市的类
class Province :
def __init__(self,Name,New,Diagnosis,Cured,Dead):#双下划线
self.Name=Name
self.New=New
self.Diagnosis=Diagnosis
self.Cured=Cured
self.Dead=Dead
def input(self):
self.Name=input()
self.New,self.Diagnosis,self.Cured,self.Dead=map(int,input().split())
#用字典建立多个对象
d={}
def nation():
print("请录入34个省级行政区的疫情信息:\n省 新增 确诊 治愈 死亡")
for i in range(34):
d[i]=Province("省份",0,0,0,0)
total=0
total1=0
total2=0
total3=0
for i in range(34):
d[i].input()
total=total+d[i].Diagnosis
total1=total1+d[i].Cured
total2=total2+d[i].Dead
total3=total3+d[i].New
print("---------------------------------------------------------------")
print("全国\n新增:",total3,"\n确诊:",total,"\n治愈:",total1,"\n死亡:",total2)
print("---------------------------------------------------------------")
print("省\t新增\t确诊\t治愈\t死亡\t占比\t治愈率\t死亡率")
for i in range(0,34):
a='{:.2%}'.format(d[i].Diagnosis/total)
b='{:.2%}'.format(d[i].Cured/d[i].Diagnosis)
c='{:.2%}'.format(d[i].Dead/d[i].Diagnosis)
#c=round(d[i].Dead/total2*100,2)
print(d[i].Name,d[i].New,d[i].Diagnosis,d[i].Cured,d[i].Dead,a,b,c,sep='\t')
print("---------------------------------------------------------------")
j=(total1-d[0].Cured)/(total-d[0].Diagnosis)
k=(total2-d[0].Dead)/(total-d[0].Diagnosis)
e='{:.2%}'.format((total-d[0].Diagnosis)/total)
f='{:.2%}'.format(j)
g='{:.2%}'.format(k)
print("除湖北",(total3-d[0].New),total-d[0].Diagnosis,total1-d[0].Cured,total2-d[0].Dead,e,f,g,sep='\t')
def hubei():
print("请录入17个市的疫情信息:\n市 新增 确诊 治愈 死亡")
for i in range(18):
d[i]=Province("市",0,0,0,0)
total=0
total1=0
total2=0
total3=0
for i in range(18):
d[i].input()
total=total+d[i].Diagnosis
total1=total1+d[i].Cured
total2=total2+d[i].Dead
total3=total3+d[i].New
print("---------------------------------------------------------------")
print("湖北\n新增:",total3,"\n确诊:",total,"\n治愈:",total1,"\n死亡:",total2)
print("---------------------------------------------------------------")
print("市\t新增\t确诊\t治愈\t死亡\t占比\t治愈率\t死亡率")
for i in range(0,18):
a='{:.2%}'.format(d[i].Diagnosis/total)
b='{:.2%}'.format(d[i].Cured/d[i].Diagnosis)
c='{:.2%}'.format(d[i].Dead/d[i].Diagnosis)
#c=round(d[i].Dead/total2*100,2)
print(d[i].Name,d[i].New,d[i].Diagnosis,d[i].Cured,d[i].Dead,a,b,c,sep='\t')
print("---------------------------------------------------------------")
j=(total1-d[0].Cured)/(total-d[0].Diagnosis)
k=(total2-d[0].Dead)/(total-d[0].Diagnosis)
e='{:.2%}'.format((total-d[0].Diagnosis)/total)
f='{:.2%}'.format(j)
g='{:.2%}'.format(k)
print("除武汉",(total3-d[0].New),total-d[0].Diagnosis,total1-d[0].Cured,total2-d[0].Dead,e,f,g,sep='\t')
#main函数
print("---------------------------------------------------------------")
print("新冠肺炎疫情分析系统\n1)全国分析\n2)湖北分析\n请选择要进行的操作:")
case=input()
print(case)
if case=="1":#双引号
nation()
else:
hubei()
Interface utilisateur
source et le traitement de données
Source: Baidu - la dernière épidémie carte des rapports de données en temps réel de
Traitement des données: le texte dans l'onglet du document remplacé par des espaces, puis « - » est remplacé par « 0 », copier-coller.
Les données montrent
23 février données
résumé
1. ne pas besoin de déclarer les différents attributs de la classe
2. constructeur __init __ () est double soulignement, pas un seul soulignement.
3.Self ce pointeur correspond à la fonction de membre de C du premier argument doit être auto classe
4.Python aucune structure, la classe peut être utilisée à la place. La difficulté est de créer plusieurs classes d'objets.
Vous ne pouvez pas créer manuellement un par un, que beaucoup de peine. Il peut être utilisé pour stocker le dictionnaire.
clé de dictionnaire (clé) pour enregistrer le nom de l'objet, la valeur dictionnaire (valeur) pour stocker des objets.
5. Comme référence d'objet Python est passé, en dehors de la fonction totale du type numérique est passé par valeur ne peut pas être changé de fonction
La valeur des variables globales totales en dehors de la fonction, vous pouvez passer à des variables locales à l'intérieur d'une fonction.
6. cordes guillemets doubles
Différents 7.Python de boucle et C ++
//Python
for i in range(34)
//C++
for(int i=0;i<34;i++)
8.Python C ++ de retrait en utilisant au lieu d'accolades et des points-virgules sont omis, accorder une attention particulière au moment de l'écriture.
9. crochets aussi, peuvent être retirés pour remplacer toute la partie de la lettre.
10. La ligne de sortie de données, chaque intervalle de données peut également être utilisé avec des espaces Tab, la méthode de réglage: print () fonction, plus fin sep = « \ t » ou septembre « ».
11. Le pourcentage de formats de sortie:
a='{:.2%}'.format(一个小数)//控制在小数点后两位
12.Python pas structure switch-case.
13. Heureusement, hier cours brossée et objets en C ++, ou ont oublié. Cependant, ce programme semble ne pas avoir à utiliser la classe pour l'écrire, je pourrait écrire compliqué.