Python - me ayudan con un tabajo que no intiendo como se hace una lista en python, se agradeceriaa mucho :)

 
Vista:

me ayudan con un tabajo que no intiendo como se hace una lista en python, se agradeceriaa mucho :)

Publicado por Brandon Alfaro (2 intervenciones) el 25/06/2022 23:00:03
Crear un programa que permita matricular alumnos en diferentes carreras:
Para ello genere una lista que contenga 20 carreras. (usted define los nombres)
Inicialmente el sistema debe desplegar:

Para mostrar matriculados ingrese un 1.
Para matricular ingrese un 2
Pasa salir ingrese un 3

Si ingresa el “1” el sistema mostrará la lista con alumnos matriculados.
Si ingresa un “2” el sistema mostrará el listado de carreras, entonces el alumno seleccionará la carrera que desea y el sistema debe desplegar:
Está por matricularse en la carrera XXXXXXX para seguir ingrese su nombre, para volver ingrese un cero
Si el alumno continúa, el sistema debe almacenar en una lista el nombre del alumno y la carrera seleccionada. Una vez hecho eso el sistema mostrará el menú inicial.
Si ingresa un “3” termina la ejecución del programa.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Francisco Javier
Val: 249
Ha aumentado su posición en 29 puestos en Python (en relación al último mes)
Gráfica de Python

me ayudan con un tabajo que no intiendo como se hace una lista en python, se agradeceriaa mucho :)

Publicado por Francisco Javier (313 intervenciones) el 26/06/2022 21:11:28
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
Lista_carreras=['Administración de Empresas y Finanzas','Ingeniería Informática','Comercio y Marketing','Ingeniería Industrial','Administración de Empresas y Derecho','Enfermería','Ingeniería de Telecomunicaciones','Economía','Relaciones Laborales y Recursos Humanos','Psicología y Psicopedagogía','Ingeniería Mecánica','Hostelería y Turismo','Ingeniería Electrónica industrial y Automática','Filología, Lingüística y Literatura','Derecho y Criminología','Medicina y Biomecánica','Ingeniería Eléctrica','Educación y Pedagogía','Biología, Bioquímica y Biotecnología','Arquitectura']
lista_alumnos=[]
listado={}
menu='''
1-  Mostrar matriculados.
2-  Matricular.
3.  Salir.'''
 
def inicio():
    print(menu)
    try:
        opcion=int(input('Seleccione una opción del menú: '))
        if opcion==1:
            print('       LISTA ALUMNOS')
            for i in lista_alumnos:
                print(f'{lista_alumnos.index(i)+1}----> {i}')
            inicio()
    except ValueError:
        print('Debes ingresar un número entero')
    if opcion==2:
        for i in Lista_carreras:
 
            print(f'{Lista_carreras.index(i)+1}----> {i}')
        try:
            carrera=int(input('Elija en número de la opcion de la carrera a matricularse: '))
 
            opcion2=input(f'Está por matricularse en la carrera {Lista_carreras[carrera-1]}; para seguir ingrese su nombre, para volver ingrese un cero: ')
            if opcion2=='0':
                opcion==2
            else:
                nombre=opcion2
                lista_alumnos.append(nombre)
                listado[nombre]=carrera
                inicio()
        except ValueError:
            print('Debes de introducir un número entero')
    if opcion==3:
        pass
 
inicio()
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-1
Comentar
sin imagen de perfil
Val: 2.808
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

me ayudan con un tabajo que no intiendo como se hace una lista en python, se agradeceriaa mucho :)

Publicado por tincopasan (1082 intervenciones) el 27/06/2022 06:19:30
No hago tareas de quien no hace ni una línea pero como ya la hiciste te digo que tu código tiene varias inconsistencias:
1) hacés recursión, lo cual no es bueno para la memoria
2) varias opcíones si no están entre las válidas se sale del script en vez de regresar al menu
3)tambíen da errores inesperados a pesar de que hay varios try
4)¿para qué usar una lista y un diccionario? con una lista sobra
5) los diccionarios no permiten repetidos, o sea que un alumno no podrá anotarse en dos materias ¿y si hay alguien que se llame exactamente igual?
6) podrías simplificar el código con funciones predefinidas como enumerate
7) faltan cosas pero bueno, no hay ganas de mi parte

código usando lo mismo pero de otra forma redactado

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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#-*- coding:utf-8 -*-
Lista_carreras=['Administración de Empresas y Finanzas','Ingeniería Informática',
                'Comercio y Marketing','Ingeniería Industrial',
                'Administración de Empresas y Derecho','Enfermería',
                'Ingeniería de Telecomunicaciones','Economía','Relaciones Laborales y Recursos Humanos',
                'Psicología y Psicopedagogía','Ingeniería Mecánica','Hostelería y Turismo',
                'Ingeniería Electrónica industrial y Automática','Filología, Lingüística y Literatura'
                ,'Derecho y Criminología','Medicina y Biomecánica','Ingeniería Eléctrica',
                'Educación y Pedagogía','Biología, Bioquímica y Biotecnología','Arquitectura']
#por una cuestión de lectura está en varias líneas
lista_alumnos=[] #los diccionarios no permiten repetidos,puede ser un problema así que uso una lista
 
def inicio():
    while True:  #es mejor usar bucles que recursión
        print("""\n\tMenú
1-  Mostrar matriculados.
2-  Matricular.
3.  Salir.""")
 
        opcion=input('\nSeleccione una opción del menú: ') # es innecesario que sea un entero
 
        if opcion == "1":
            print('\n\tLISTA  ALUMNOS\n')
            if len(lista_alumnos) == 0:
                print("No hay alumnos matriculados")
            else:
                for cantidad,materia in enumerate(lista_alumnos,1):
                    print(f'{cantidad}----> {materia[0]}')
 
        elif opcion == "2":
            print("\n Carreras disponibles")
            for numero,carrera  in enumerate(Lista_carreras,1):
                print(f'{numero}----> {carrera}')
 
            try:
                carrera=int(input('\nElija el número de opcion de la carrera a matricularse: '))
            except ValueError:
                print('¡Debes de introducir un número entero!')
            else:
                if carrera in range(1,21):
                    continuar =input(f"""Está por matricularse en la carrera {Lista_carreras[carrera -1]}
para continuar ingrese su nombre, para volver ingrese un cero: """)
                    if continuar != "0" :
                        lista_alumnos.append((continuar,Lista_carreras[carrera- 1]))
                else: print("Valor incorrecto de carrera")
 
        elif opcion=="3":
            print("Programa terminado")
            return
 
        else: print("¡Ingrese una opción correcta!\n")
 
if __name__=="__main__":
    inicio()
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar