El análisis de los nuevos datos epidemia corona en Python

la sección del código

#建立一个省/市的类
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()

Interfaz de usuario

Fuente de datos y procesamiento de datos

Fuente: Baidu - el último brote de presentación de datos mapa en tiempo real

Procesamiento de datos: el texto en la ficha del documento reemplaza con espacios, y luego "-" se sustituye por "0", copiar y pegar.

Los datos muestran

datos de 23 de febrero

resumen

1. no es necesario declarar los diversos atributos de la clase

2. constructor __init __ () se doble subrayado, no un subrayado sencillo.

3.Self este puntero corresponde a la función miembro de C ++ del primer argumento debe ser de clase auto

4.Python ninguna estructura, la clase puede ser utilizado en su lugar. Dificultad consiste en crear varias clases de objetos.

No se puede crear manualmente una por una, que muchos problemas. Se puede utilizar para almacenar el diccionario.

clave de diccionario (clave) para almacenar el nombre del objeto, el valor del diccionario (valor) para almacenar objetos.

5. Función Desde se pasa Python referencia de objeto, fuera de la función total del tipo digital se pasa por valor no se puede cambiar

El valor de las variables globales totales fuera de la función, puede cambiar a variables locales dentro de una función.

6. cadena entre comillas dobles

Different 7.Python para bucle y C ++

//Python
for i in range(34)
//C++
for(int i=0;i<34;i++)

8.Python C ++ utilizando muesca en lugar de los apoyos y puntos y comas se omiten, prestar especial atención a la hora de escribir.

9. soportes también pueden ser sacados para reemplazar toda la parte de la carta.

10. La línea de salida de datos, cada uno de los datos de intervalo también pueden usarse con espacios Tab, el establecimiento de método: la función de impresión () más septiembre final = '\ t' o SEP ''.

11. El porcentaje de formatos de salida:

a='{:.2%}'.format(一个小数)//控制在小数点后两位

12.Python ninguna estructura switch de los casos.

13. Afortunadamente, ayer rozó clases y objetos en C ++, o han olvidado. Sin embargo, este programa parece que no tiene que utilizar la clase de escribirlo, yo podría escribir complicado.

Publicados 115 artículos originales · ganado elogios 9 · vistas 8127

Supongo que te gusta

Origin blog.csdn.net/weixin_43673589/article/details/104470253
Recomendado
Clasificación