Ya que estamos en época de contratos en los equipos del fulbol chileno, se me ocurrió generar un codigo simple para ir ingresando los jugadores con algunas de sus características
La primera definición que tomé fue que lo generaría como una lista, donde cada elemento sería un diccionario, la idea que tenía en mente es algo como lo siguiente:
lista= [{'nombre':'Juan',
'apellido':'Perez',
'edad': 20,
'posicion':'portero'
},
{'nombre': 'Marcelo',
'apellido': 'Gomez',
'edad': 30,
'posicion': 'defensa'
}
]
con esta idea en la cabeza, ahora queda definir como haría en ingreso de los jugadores, para esto, lo primero que generar una función que me permita capturar los datos de nombre, apellido, edad y posición. guardarlos como diccionario y agregarlos a la lista.
defagregar_jugador(posicion):
nombre = input('ingrese el nombre del jugador: ')
apellido = input('ingrese el apellido del jugador: ')
edad = input('ingrese la edad del jugador: ')
#posicion = input('ingrese la posicion del jugador: ')
jugador = {'nombre': nombre,
'apellido': apellido,
'edad': edad,
'posicion': posicion}
lista.append(jugador)
print('--------------------------------')
Para complejizarlo solo un poco, se me ocurrió que lo mejor sería agregar varios jugadores de una misma posición, es por esa razón que en la función ‘agregar_jugador’ se pasa como argumento la posición.
entonces, para realizar todo el ingreso primero consultaría por la cantidad de jugadores a ingresar y la posición, esta información me ayudará a estructurar un ciclo for para el contador
posicion = input('ingrese la posicion del jugador: ')
cantidad = int(input('ingrese la cantidad de jugadores en esa posicion: '))
for i inrange(cantidad):
agregar_jugador(posicion)
Ya con esto, podía ingresar a todos los jugadores de una misma posición, pero para hacerlo con las otras posiciones, incorporé un ciclo while, para que evaluara este proceso de agregar jugadores por posición se repitiera mientras se cumpliera la condición
agrega_mas = 'si'
while agrega_mas == 'si':
posicion = input('ingrese la posicion del jugador: ')
cantidad = int(input('ingrese la cantidad de jugadores en esa posicion: '))
for i inrange(cantidad):
agregar_jugador(posicion)
agrega_mas = input('desea agregar mas jugadores? (si/no): ')
ya juntando todo, se puede ver el resultado con un print que incorporé al final
lista= []
defagregar_jugador(posicion):
nombre = input('ingrese el nombre del jugador: ')
apellido = input('ingrese el apellido del jugador: ')
edad = input('ingrese la edad del jugador: ')
#posicion = input('ingrese la posicion del jugador: ')
jugador = {'nombre': nombre,
'apellido': apellido,
'edad': edad,
'posicion': posicion}
lista.append(jugador)
print('--------------------------------')
agrega_mas = 'si'while agrega_mas == 'si':
posicion = input('ingrese la posicion del jugador: ')
cantidad = int(input('ingrese la cantidad de jugadores en esa posicion: '))
for i in range(cantidad):
agregar_jugador(posicion)
agrega_mas = input('desea agregar mas jugadores? (si/no): ')
print(lista)
es bastante simple, y creo que cumple el propósito.
en el próximo tutorial, voy a buscar una forma de imprimirlos de forma visualmente más agradable 😃