Python - Pedir equipos y puntuaciones, guardarlos y mostrar el resultado (Python)

 
Vista:

Pedir equipos y puntuaciones, guardarlos y mostrar el resultado (Python)

Publicado por José Álvarez (1 intervención) el 31/01/2021 15:23:56
Hola, he intentado hacer un programa que funciona así:
Pido partidos de una liga de pádel en este formato:
Código:
{NombreEquipoA} {SetsGanadosEquipoA} {NombreEquipoB} {SetsGanadosEquipoB}
Todo eso se escribe en la misma línea, pero cada partido se escribe en una línea diferente. En cada partido, el equipo con más sets gana. Cada vez que un equipo gana un partido, suman 3 puntos, y si pierde, 0.
Tengo que guardar de alguna forma los nombres de todos los equipos que escriba porque un equipo puede aparecer en diferentes partidos, además como un equipo puede aparecer varias veces también tengo que guardar e ir actualizando su puntuación (si han ganado 1 partido, tendrá 3 puntos, pero si luego gana otro partido, aumentará a 6 puntos).
Ojo, tengo que introducir todo el rato partidos hasta que introduzca la palabra FIN, y en ese momento mostrará los resultados con el ganador (que será el equipo con más puntos), y luego mostrará un ranking de puntuaciones de los equipos.

Ya que es algo lioso, os pongo un ejemplo: voy a introducir 3 partidos y luego la palabra FIN, y entonces mostrará los resultados:

Buenardos 1 Malardos 4 //Como el equipo "Malardos" tiene más sets, gana el partido y obtiene 3 puntos.

Picasos 2 Redbull 3 //Gana el equipo "Redbull", por lo que obtiene 3 puntos

Malardos 4 Camisetas 3 //Vuelve a ganar el equipo Malardos, por lo que ahora tienen 6 puntos

FIN //Al introducir esto, el programa deja de pedirme partidos y muestra los resultados

Equipo ganador: "Malardos"
Resultados de la liga:
Malardos - 6 puntos
Redbull - 3 puntos
Buenardos - 0 puntos //El ranking es de 3, o sea que no es necesario poner todos los equipos con 0 puntos

Y básicamente ese sería el programa, poner varios partidos hasta poner FIN, los equipos ganan puntos al ganar partidos, y luego mostrar el resultado con un ranking de 3 equipos como máximo.

Esto es lo que tengo de código:
Código:
1
2
3
4
5
6
7
8
9
while equipo1 != FIN:
    equipo1, puntos1, equipo2, puntos2 = input().split()
    if puntos1 > puntos2
        puntuacionequipo1 = 3
    else:
        puntuacionequipo2 = 3
else:
    print("Equipo ganador:")
    print("Resultados de la liga:")

Básicamente lo que tengo es muy poco, porque por más que busco en Google (tanto en inglés como en español), no comprendo como poder guardar los nombres de los equipos ni sumarles puntos cuando ganan un partido para luego poder hacer un ranking. Y bueno, en la parte donde imprimo los resultados tampoco he escrito ningún equipo porque para empezar no sé cómo seleccionar al equipo ganador si no sé como añadirles puntos cuando ganan partidos.

Para guardar los equipos y sus puntos he pensado en crear una matriz de dos dimensiones, pero no sé realmente como hacerla, ya he estado buscando en Google y sólo he encontrado matrices con números (no con nombres) y encima ya están llenas, yo lo que quiero es crear una vacía y rellenarla conforme escribo equipos y estos ganan puntos.

Para hacer lo de escribir el FIN y que termine de pedir partidos, he pensado en poner este código:
equipo1 = "" #debe estar declarado antes del while
while equipo1 != "FIN": #fin es una cadena debe ir entre comillas dobles o simples como tal
equipo1 = input(">")

Pero no sé cómo aplicar ese código para que en la misma línea ingresar los 2 equipos con sus respectivos sets, ya que en ese código sólo tengo en el input el equipo 1, y si pongo más variables con el inpuy.split(), al poner FIN me salta un error porque tengo que poner tantos FIN como variables haya en esa misma línea.

Sé que estoy pidiendo mucha ayuda, pero llevo desde el jueves buscando e informándome sobre Python y no consigo realizar este programa, a si que si alguien pudiera ayudarme estaría increíblemente agradecido.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder