Python - Lección 14: Ejercicios con bucles

Antes de continuar con la siguiente etapa del curso, vamos a necesitar practicar todo lo anterior visto lo más que podamos. En este punto, les voy a dejar dos ejercicios para que practiquen y apliquen.

Ejercicio 1:
Necesitamos crear un catálogo de programas de código abierto y para ello, el programa cumplir los siguientes requisitos:

  1. Deberá contener una lista vacía en donde el usuario irá registrando los programas.
  2. Deberá funcionar en bucle infinito para que no se pierda el progreso de lo ya registrado.
  3. Debe preguntarse al usuario si desea cargar un registro nuevo y en caso de que el usuario no quiera, interrumpir el funcionamiento del programa.
  4. El programa debe anexar a la lista los programas que el usuario ingrese en caso de que el programa ingresado no se encuentre en la lista, de caso contrario, deberá de dar aviso al usuario y continuar al siguiente ciclo.
  5. Antes de terminar el ciclo, el programa debe imprimir la lista de los elementos ingresados hasta el momento.

Ejercicio 2:
Vamos a hacer la calculadora más incómoda de operar posible. La misma, debe imprimir en pantalla todos los símbolos de las operaciones matemáticas disponibles.
Cada columna debe estar representada con una letra y cada fila con un número, de manera que el usuario debe ingresar por teclado el primer número de la operación, la propia operación, especificando la fila y la columna a la que pertenece y luego el último número. Para ello, las operaciones deben estar almacenadas en diccionarios en donde las llaves de cada operación, debe ser la fila y la columna.
Al finalizar, el programa debe preguntar si desea seguir operando.
ejercicio2

<Tema anterior - Tema siguiente>

1 me gusta

Estoy haciendo el ejercicio 1 pero no consigo que agregue un registro a la lista.
¿ Alguna sugerencia ?

les comparto mi código aún esta en la fase de construcción del ejercicio

lista_programas = []


while lista_programas == '':
    print(f"No hay programas {lista_programas}.")
    pregunta = input("¿Desea agregar un registro? (S/n): ")

    if pregunta == "S" or pregunta == "s":
        registro = input("Ingrese el registro: ")
        lista_programas.append(registro)
    else:
        break
       

print(lista_programas)  

Es una de las propiedades de las listas.

mi_lista.append(algo)

Acabo de conseguir de que agregue un elemento a mi lista pero solo me permite ingresar un elemento, ¿alguna sugerencia para que me permita ingresar mas elementos a mi lista?

lista_programas = []


while lista_programas == []:
    print("No hay programas.")
    pregunta = input("¿Desea agregar un registro? (S/n): ")
    if pregunta == "S" or pregunta == "s":
        print("\nAgregando...")
        registro = input("Ingrese el registro: ")
        lista_programas.append(registro)
        
    elif (pregunta == "N" or pregunta == "n"):
        print("\nPrograma finalizado.")
        break

    else:
        continue

    print(lista_programas)
1 me gusta

El problema está en que al realizar la primer carga de datos, lista_programas ya no está vacía, por lo que se cumple la condición del bucle while para terminar y se interrumpe su ejecución.
Podrías cambiar la condición por algo que nunca vaya a darse y por lo tanto, el programa sólo terminaría cuando el usuario selecciona la opción “No”.

Muchas gracias @5ombr4 por tu sugerencia (disculpa la demora en responder e estado mal de salud).
Ya me salio el ejercicio 1.

Aquí les comparto el código.

lista_programas = []


while lista_programas != 0:
    print("No hay programas.")
    pregunta = input("¿Desea agregar un registro? (S/n): ")
    if pregunta == "S" or pregunta == "s":
        print("\nAgregando...")
        registro = input("Ingrese el registro: ")
        lista_programas.append(registro)
        
    elif (pregunta == "N" or pregunta == "n"):
        print("\nPrograma finalizado.")
        break

    else:
        continue
    
    print(lista_programas)
1 me gusta

Ojalá te recuperes y felicitaciones por resolver el ejercicio!