Ayuda con un problema de logica
Publicado por Nacho (3 intervenciones) el 13/04/2020 22:01:09
Hola, estoy aprendiendo a programar en Python y tengo un pequeño error que no puedo resolver, cada vez que ejecuto el siguiente codigo:
Pretendo obtener distintos personajes los cuales guardo en la lista 'personajes', sin embargo si no rompo el bucle, elementos iguales dentro de la lista por ejemplo:
[{'Nombre': 'Eduard', 'Clase': 'Cazador', 'Raza': 'Enano'},
{'Nombre': 'Eduard', 'Clase': 'Cazador', 'Raza': 'Enano'}]
No se supone que al ejecutarse de nuevo el bucle, los valores dentro del diccionario se sobrescriben?
Desde ya, muchas gracias!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
answer = input("¡Aventurate en las antiguas tierras! \n¿Quieres crear un personaje?")
personajes = []
creacion = {}
value = True
while value == True:
if answer == 'Si' or answer == "si":
creacion['Nombre'] = input("¿Que nombre deseas poner?")
creacion['Clase'] = input("Elije una clase \n Mago Guerrero Cazador")
if creacion['Clase'] == 'Mago' or creacion['Clase'] == 'Guerrero' or creacion['Clase'] == 'Cazador':
creacion['Raza'] = input("Elije tu raza \n Elfo Humano Enano")
if creacion['Raza'] == 'Elfo' or creacion['Raza'] == 'Humano' or creacion['Raza'] == 'Enano':
print("Felicidades, has creado tu personaje")
personajes.append(creacion)
else:
print("Raza invalida")
else:
print("Clase invalida")
asd = input("Quieres crear mas personajes?")
if asd == 'Si' or asd == 'si':
value = True
else:
value = False
print('Disfruta la experiencia.')
Pretendo obtener distintos personajes los cuales guardo en la lista 'personajes', sin embargo si no rompo el bucle, elementos iguales dentro de la lista por ejemplo:
[{'Nombre': 'Eduard', 'Clase': 'Cazador', 'Raza': 'Enano'},
{'Nombre': 'Eduard', 'Clase': 'Cazador', 'Raza': 'Enano'}]
No se supone que al ejecutarse de nuevo el bucle, los valores dentro del diccionario se sobrescriben?
Desde ya, muchas gracias!
Valora esta pregunta


0