es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo podría crear dos listas vacías y ponerlas en un diccionario para que los nombres y los números estén asociados y tomar las entradas del usuario: Puedes hacerlo siguiendo estos pasos en Python: 1. Primero, crea dos listas vacías: “` lista_nombres = [] lista_numeros = [] “` 2. Luego, pide al usuario que ingrese los nombres y los números, y añádelos a las listas correspondientes: “` for i in range(2): # Aquí puedes ajustar el número de elementos nombre = input(“Ingrese un nombre: “) numero = input(“Ingrese un número: “) lista_nombres.append(nombre) lista_numeros.append(numero) “` 3. Finalmente, crea un diccionario y asigna las listas como valores asociados a las claves correspondientes: “` diccionario = { “nombres”: lista_nombres, “numeros”: lista_numeros } “` Ahora tendrás un diccionario llamado “diccionario” con dos claves: “nombres” y “numeros”, donde los valores asociados a cada clave son las listas que creaste con las entradas del usuario.

El objetivo es tener una lista vacía que reciba entradas de un usuario y tenga un número asociado. A continuación se muestra lo que he intentado:

name = []
number = []
counter = 0
while counter != 3:
  name_grade = {
    name.append(str(input("ingrese su nombre: "))) : number.append(int(input("ingrese su número: ")))
    }
counter = counter + 1
print(name_number)

pero solo obtengo:

{None: None}

¿Hay una mejor manera de hacer esto y cómo podría hacerlo mejor?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Hay algunos problemas con el código proporcionado:

    1. La condición del bucle counter != 3 hará que el bucle se ejecute solo tres veces, sin importar cuántas entradas dé el usuario. Si desea permitir al usuario ingresar un número arbitrario de entradas, debe usar una condición de bucle diferente, como while True con una declaración break para salir del bucle.
    2. La sintaxis para crear un diccionario name_grade es incorrecta. Las parejas clave-valor deben estar separadas por dos puntos, no por una coma.

    3. El método append() no devuelve un valor, por lo que las parejas clave-valor en el diccionario name_grade siempre tendrán un valor de None.

    Aquí hay una versión actualizada del código que aborda estos problemas:

    name_numbers = {}
    while True:
        name = input("Ingrese su nombre: ")
        if name == "":
            break
        number = int(input("Ingrese su número: "))
        name_numbers[name] = number
    print(name_numbers)
    

    Este código utiliza un bucle while sin una condición de salida fija, pero en cambio verifica una cadena vacía para salir del bucle. Cada vez que se recorre el bucle, solicita al usuario un nombre y un número y los agrega como una pareja clave-valor al diccionario name_numbers. Finalmente, imprime el diccionario resultante.

    Esto debería brindarle una forma de crear una lista vacía que obtenga entradas del usuario y tenga un número asociado a ella.

Comments are closed.