Curso de Fundamentos de Python

Toma las primeras clases gratis

COMPARTE ESTE ARTÍCULO Y MUESTRA LO QUE APRENDISTE

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

COMPARTE ESTE ARTÍCULO Y MUESTRA LO QUE APRENDISTE

0 Comentarios

para escribir tu comentario

Artículos relacionados