Título: ayuda Publicado por: wolfblood en 30 Septiembre 2022, 08:44 am ayuda no se donde esta el error no quiero la solucion sino que me expliquen porque no me suma los puntos del diccionario en python por favor he buscado material pero no logro solucionarlo ojala me ayuden por favor con esta tarea:
¡Juguemos Scrabble! Construir un diccionario con los siguientes valores. Luego, el usuario ingresa una palabra por pantalla, y el programa devuelve el puntaje. Diccionario 1=A, E, I, L, N, O, R, S, T, U 2=D G 3=B C M P 4=F H V W Y 5=K 8=J X 10=Q Z aqui dejo el codigo diccionario = {"A":1, "E":1, "I":1, "O":1, "L":1, "N":1, "R":1, "S":1, "T":1, "U":1, "D":2, "G":2, "B":3, "C":3, "M":3, "P":3, "F":4, "H":4, "V":4, "W":4, "Y":4, "K":5, "J":8, "X":8, "Q":10,"Z":10} # aqui definimos el diccionario colocando el puntaje de cada letra palabra = str(input("ingresa una palabra: ")) puntos = 0 for letra in palabra.upper(): if letra not in diccionario: print("el caracter ingresado no es valido") for letra in diccionario.values(): print(letra) for letra in palabra.upper(): puntos = puntos + diccionario[letra] print("puntos" ) print(puntos) Título: Re: ayuda Publicado por: reymosquito en 30 Septiembre 2022, 10:46 am es muy dificil ayudarte sin reescribir el código, porque el error parece de lógica y no de sintaxis en si.
Código el diccionario está bien declarado Código
si te fijas la función str() está de más, no es que este mal pero es una redundancia, input devuelve una cadena Código
Bueno acá ya tuve que cambiar la lógica, demasiados for , con una iteración sobra si el caracter no está muestra el mensaje pero si está hay que obtener el valor de la letra para eso existe el método get, una vez obtenido el valor parcial lo muestro o no eso depende de lo que quieras y pot último lo sumo al valor total. Título: Re: ayuda Publicado por: wolfblood en 30 Septiembre 2022, 17:22 pm gracias amigo reymosquito por tu ayuda
|