¡Urgente! Una pregunta de programación de Python de IOI, preferiblemente incluyendo algoritmo e implementación ~~~
def top_country(m):
puntuación = {}
medalla_score = {'Oro': 3, 'Plata': 2, 'Bronce': 1}
para el país, medalla en m:
puntuación[país] = puntuación[país] medalla_puntuación[medalla] si el país está en la puntuación, sino medalla_puntuación[medalla] ] p>
max_medal = max((s, c) para c, s en score.items())
print max_medal[1],
puntuación. pop(max_medal [1])
para c, s en score.items():
Si s == max_medal[0]:
imprime c ,
p>top_country([('C', 'Oro'), ('A', 'Bronce'), ('C', 'Plata')])
top_country([( 'C', 'Oro'), ('A', 'Oro'), ('A', 'Plata'), ('D', 'Oro'), ('D', ' Plata'), ( 'B', 'Bronce'), ('C', 'Plata')])
El resultado de salida es:
C
D A C
PD: 1. La respuesta anterior ya es correcta, porque la pregunta supone que hay una respuesta única, es decir, considerando solo la situación en la que el resultado tiene un solo valor, simplemente expandí Aquí se debe considerar el valor máximo múltiple.
2. Debido a que esto no es lo suficientemente ancho, la quinta y última línea de código son demasiado largas para caber, por lo que se ajustan automáticamente. Se recomienda copiarlas a su propio IDE para verlas. Es más intuitivo.