Curso de Fundamentos de Python

Toma las primeras clases gratis

Hola comunidad, espero os sirva mi pequeño aporte.

"""
    ¡Hola! en este tutorial encontraras los fundamentos base sobre la programación en 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ón de 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ón que se llama WHILE. esta interacción permite mantener una repetición continua
    hasta que cambie su estado, es decir While se va a repetir muchas veces ya que su estado es True (Verdadero)
    y va a consultar múltiples veces la edad, y lo que validamos es que el valor ingresado en la 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ón
    while True:
        # Pedimos un valor entero, en caso que no 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 de que falle, salta al except.
        try:
            # convertimos el valor del input a un entero
            valor_entero = int(edad)
            # Si el valor del input se convierte, retornamos y el while se 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 que la función de solicitud de la 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ón de cadenas de caracteres, no se permite sumar un
        entero con un string

        Resta -: Permite la resta de valores enteros o la unificación de cadenas de caracteres, no se 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 en su resultado.
        AND: Su operador establece que se deben cumplir dos condicionales que se establezcan
    """
    # Iniciamos un while en 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ón if nos permite evaluar si un dato es correcto o incorrecto
        if entrada == 'true' or entrada == 'si' or entrada == 's':
            return True  # En caso que se 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 que en caso que no se 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 que se cumpla alguna de todas las condicionales entonces devuelve un True
        else:
            # En caso de que no 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 de la 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 en el
    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
    que se 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ón


if __name__ == '__main__':
    tutorial()

Curso de Fundamentos de Python

Toma las primeras clases gratis

0 Comentarios

para escribir tu comentario

Artículos relacionados