¡Urgente! ¡Una pregunta de programación sobre el diccionario de Python! Buscando ideas!
Ayúdalo a darte cuenta y sube el código directamente:
#! /usr/bin/env python
#coding=utf-8
#author qihigh
clase AnimalStation:
__station1 = Ninguno
__station2 = Ninguno
def __init__(self):
p>self.__station1 = 0
self.__station2 = 0
def toStat(self, evento):
if(evento == 's1'):
self.__estación1 = self.__estación1 1
else:
self.__estación2 = self.__estación2 1
def resultado(self):
return [self.__station1, self.__station2]
if __name__ == '__main__':
str = ['' '----------Omite 700 palabras aquí, ya sabes---------- '''']
#Nota: a01 -- a09 procesamiento para a1 -- a9
dic = {}
para i en el rango(1, 50):
#a0 = AnimalStation()
exec("a" `i` " = AnimalStation()")
#dic['a0'] = a0
exec("dic['a" ` i` "'] = a" `i`)
para cada línea en str:
strs = eachLine.split(':')
animal , evento = strs[0], strs[2]
#dic['a28'].to('s1')
exec("dic['" animal "' ] .toStat('" evento "')")
print("Animail\t\tStation1\t\tStation2")
para i en el rango(1, 50):
#print dic['a0'].result()
exec("resultado = dic['a" `i` "'].resultado()") p >
print("a" `i` "\t\t" `resultado[0]` "\t\t" `resultado[1]`)
Principio: uso de Python dinámico especial
sexo.
Resultado de la ejecución:
Animail Estación1 Estación2
a1 0 0
a2 0 1
a3 0 0
a4 1 0
a5 0 0
a6 1 0
a7 1 0
a8 1 1
a9 0 0
a10 2 0
a11 2 0
a12 0 0
a13 0 0
a14 1 0
a15 0 0
a16 0 0
a17 0 0
a18 0 2
a19 1 0
a20 0 0
a21 0 0
a22 0 1
a23 0 0
a24 1 0
a25 0 0
a26 0 0
a27 0 0
a28 1 0
a29 0 0
a30 0 0
a31 1 1
a32 0 0
a33 0 1
a34 0 1
a35 0 1
a36 2 0
a37 2 0
a38 1 0
a39 0 1
a40 0 0
a41 1 0
a42 0 1
a43 0 0
a44 0 0
a45 0 0
a46 0 1
a47 0 0
a48 0 0
a49 0 1
¡El resultado que deseas! ! ! Dámelo. . . . . . .