Agregar valores de un diccionario en Python

Jay Klope

Por ejemplo, el usuario ingresará cuatro colores (se permiten duplicados) donde orange = o, blue = b, green = g, red = r. Asignaré valores a cada uno de estos colores.

dictColor = {"o": 4, "b": 2, "g": 7, "r": 5}
colorScore = 0
for i in range(1):
    color = input("Enter 4 characters of colors: ")
    if "o" in color:
        colorScore += dictColor["o"]
    if "b" in color:
        colorScore += dictColor["b"]
    if "g" in color:
        colorScore += dictColor["g"]
    if "r" in color:
        colorScore += dictColor["r"]
print("The color score is",colorScore)

Si el usuario ingresara rbgo, el programa funciona bien y genera un valor de 18. Sin embargo, si el usuario ingresó un duplicado, como rrgo, el programa genera 16, que no es la salida correcta. ¿Cómo puedo hacer que mi programa reconozca estos duplicados?

Martijn Pieters

Solo estás probando para cada personaje una vez. Haga un bucle sobre la cadena de entrada y use cada carácter como clave para su diccionario:

dictColor = {"o": 4, "b": 2, "g": 7, "r": 5}
color = input("Enter 4 characters of colors: ")

colorScore = 0
for character in color:
    if character in dictColor:
        colorScore += dictColor[character]

o, usando la sum()función , y dict.get()para devolver una puntuación de color predeterminada de 0 para cualquier carácter no reconocido:

dictColor = {"o": 4, "b": 2, "g": 7, "r": 5}
color = input("Enter 4 characters of colors: ")
colorScore = sum(dictColor.get(c, 0) for c in color)

Lo anterior pasa una expresión generadora a la sum()función, que recorrerá cada resultado de la expresión. Entonces, para cada uno cen la cadena color(cada carácter), la dictColor.get(c, 0)expresión obtiene el valor de la clave dada o 0 si falta la clave, y sum()suma todos esos resultados.

Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.

En caso de infracción, por favor [email protected] Eliminar

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados

Agregar valores en un diccionario predeterminado: Python (o fusionar)

En Python, ¿puedes agregar elementos de una lista a los valores de un diccionario?

Cómo agregar una columna con valores de un diccionario en Python

Valores duplicados en un diccionario de Python

Agregar diferentes valores de lista al diccionario en Python

Agregar valores de la lista al diccionario en Python

Agregar valores perdidos en el diccionario de Python

Agregar valores de valores existentes, Diccionario Python

Cómo agregar columnas y filas de un marco de datos como claves y valores de un diccionario en Python

Agregar nuevos valores a un diccionario Python

Agregar una lista o diccionario en un diccionario con múltiples valores para una clave - Python

Agregar valores al diccionario en bucle for, python

Cómo agregar una columna con valores de cadena de un diccionario en el marco de datos de Python

¿Cómo agregar valores de columna de pandas según la clave de un diccionario en Python?

¿Cómo agregar valores de columna de pandas según la clave de un diccionario en Python?

Python imprime valores de valores en un diccionario

Agregar atributo a un objeto existente en el diccionario de Python

Python: aumentar los valores de un diccionario en un bucle

Comparar valores en un diccionario con valores de otro diccionario en Python

¿Cómo agregar valores en claves en un diccionario dentro de un bucle?

Mapeo de valores en un diccionario de Python

Reemplazo de valores de un diccionario en Python

¿Cómo puedo analizar valores de lista en un diccionario de Python, agregar valores de diccionario adicionales que muestren las diferentes claves y el recuento de valores de lista en común?

¿Cómo puedo agregar valores a una sola clave en un diccionario en Python?

¿Cómo consultar valores en un diccionario de un diccionario en Python?

¿Cómo consultar valores en un diccionario de un diccionario en Python?

Conversión de valores de diccionario en Python de str a int en un diccionario anidado

5 valores máximos en un diccionario de Python

5 valores máximos en un diccionario de Python