Hola comunidad, espero os sirva mi pequeño aporte.
"""
¡Hola! en este tutorial encontraras los fundamentos base sobre la programaciónen Python
el cual lo vamos a visualizar de una forma muy sencilla y dinámica.
En este tutorial vamos a aprender sobre variables sus tipos, ciclos, estructuraciónde diccionarios y más.
¡Vamos!
1. En Python usamos clases, funciones, operadores aritméticos y lógicos, ciclos como for y while.
"""
dict_materias = [] # Diccionario de materias
def edad():
"""
En esta función solicitamos la edad del usuario. el cual encontramos varios fundamentos, vemos a continuación
cuales son estos.
1. Tenemos un loop o una iteraciónquese llama WHILE. esta interacción permite mantener una repetición continua
hasta que cambie su estado, es decir Whilese va a repetir muchas veces ya quesu estado es True (Verdadero)
y va a consultar múltiples veces la edad, y lo que validamos es que el valor ingresado enla variable edad se siempre
un entero.
esto lo validamos a través de un Try, Except. el cual nos permite capturar errores en nuestro Código y evitar
interrupciones.
veamos el paso a paso en el Código.
"""
# Mantenemos siempre el estado en True (Verdadero) hasta que ingrese al return el cual finaliza la ejecuciónwhile True:
# Pedimos un valor entero, en caso queno sea así, el valor del except da el mensaje y vuelve a preguntar la edad
edad = input("Por favor ingrese su edad: ")
# todo ingresa al try, en caso deque falle, salta al except.
try:
# convertimos el valor del input a un entero
valor_entero = int(edad)
# Si el valor del inputse convierte, retornamos y el whilese detiene
return valor_entero
# en caso que los valores fallen dentro del try: ingresamos aquí al except y damos el mensaje.
except ValueError:
# Imprimimos el mensaje y volveremos a preguntar
print("Entrada no válida. Por favor, ingrese un valor entero.")
def mayor_edad():
"""
Igual quela funciónde solicitud dela edad, aquí le preguntamos al usuario si es mayor de edad.
claro está que podemos llegar a usar condicionales para saber si el usuario es mayor de edad, pero igual vamos a
verlo aquí como vamos a ver como validamos la información.
vamos a ver la condicional IF: Esta nos permite consultar si un dato es verdadero, o falso según el valor y la
comparativa que nosotros queramos
Operador aritmético == : Nos permite realizar comparativa si un dato es igual a otro
Otros operadores aritméticos:
Suma +: Permite la suma de valores enteros o la unificaciónde cadenas de caracteres, nose permite sumar un
entero con un string
Resta -: Permite la resta de valores enteros o la unificaciónde cadenas de caracteres, nose permite sumar un
entero con un string
multiplicación *: Permite operar números enteros o decimales sea el caso para obtener los resultados deseados
este operador si permite operar entre enteros y strings
Operador lógico:
OR: Permite establecer si una condición cumple con una verdad o una mentira ensu resultado.
AND: Su operador establece quese deben cumplir dos condicionales quese establezcan
"""
# Iniciamos un whileen true para que siempre mantenga en ejecución hasta que pase a False.
while True:
# Por medio del input solicitamos si es mayor de edad o no
entrada = input(
"Es usted mayor de edad?: Ingrese S para 'Si' o N para 'No', también puedes ingresar True o False: ").strip().lower()
# funciónif nos permite evaluar si un dato es correcto o incorrecto
if entrada == 'true' or entrada == 'si' or entrada == 's':
return True # En caso quese cumpla alguna de todas las condicionales entonces devuelve un True
# La función elif permite evaluar el mismo if anterior pero combinado con el else para queen caso quenose cumpla
# la funcion if anterior se valide esta y determine un resultado
elif entrada == 'false' or entrada == 'no' or entrada == 'n':
return False # En caso quese cumpla alguna de todas las condicionales entonces devuelve un True
else:
# En caso dequeno sea válida ninguna de las dos opciones anteriores mostramos igual un mensaje y con eso
# no permitimos que nuestro sistema se bloquee.
print("Entrada no válida. Por favor, ingrese 'True' o 'False'.")
def registrar_materia(name_user):
"""
Creamos un diccionario de datos para realizar el registro dela materia, donde cada valor se estipulamos
un input para que el usuario pueda registrar la información y declaramos un diccionario global y agregamos la
información por medio del método append.
"""
datos_materia = {
'nombre_materia': input(f"{name_user} Ingrese el nombre de la materia: "),
'capacidad_estudiantes': input(f"{name_user} Cuantos estudiantes puede tener: "),
}
dict_materias.append(datos_materia)
return materias(name_user)
def listarmaterias(name_user):
"""
Para poder listar las materias existentes consultamos el diccionario global y lo iteramos mediante el loop for
el cual toma cada elemento del diccionario de datos y lo muestra en pantalla.
"""
for i in dict_materias:
print(f"Las materias registradas son: {i}")
return materias(name_user)
def materias(name_user):
while True:
opcion = input(f"""
{name_user}, seleccione una de las siguientes opciones que desees realizar con las materias:
1. Registrar materia.
2. Listar materias.
4. Volver
Seleccione 1 Opcion: """)
if int(opcion) == 1:
return registrar_materia(name_user)
elif int(opcion) == 2:
return listarmaterias(name_user)
elif int(opción) == 4:
return tiporegistro(name_user)
# En esta funcion recibimos los mismos valores de contextos permitiéndonos utilizarla en nuestro Código
def tiporegistro(name_user):
while True:
tipo_registro = input(f"""Hola {name_user}, queremos informarte que a través de este menú, puedes realizar procesos en
1. Materias
0. Salir
Por favor escoja una opción: """)
if int(tipo_registro) == 1:
return materias(name_user)
elif int(tipo_registro) == 0:
exit()
else:
print("El valor ingresado no es válido")
def tutorial():
"""
Inicialmente vamos a solicitar los datos del usuario a través de un input y vamos a usar su variable enel
transcurso de las distintas funciones que usemos para hacerlo más dinámico
Solicitamos un nombre de usuario a través de un input y antes de este colocamos STR para obligar a la entrada
quese convierta en una cadena de texto. lo mismo vamos hacer para otros tipos de datos como por ejemplo.
str: Cadena de caracteres.
int: Valores enteros.
float: Valores con decimales.
bool: Valores en falso o verdadero.
"""
name_user = str(input("Por favor ingrese su nombre: "))
edad()
mayor_edad()
# una vez obtenidos y verificados los datos vamos a realizar más procesos, en este caso vamos a realizar un proceso
# escolar de registro de profesores, estudiantes y materias.
tipo_registro = tiporegistro(
name_user) # Llamamos la funcion de tipo de registro y pasamos un valor por contexto que es name.
print(
f"Tipo registro = {tipo_registro}") # La funcion print nos sirve para imprimir en consola mensajes, respuestas o demás datos de informaciónif __name__ == '__main__':
tutorial()