L'analyse des nouvelles données épidémique de la Couronne en Python

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é.

Publié 115 articles originaux · a gagné les éloges 9 · vues 8127

Je suppose que tu aimes

Origine blog.csdn.net/weixin_43673589/article/details/104470253
conseillé
Classement