💡
Parte Práctica. Informática para Ingeniería
  • Dudas
  • Conceptos básicos. Cuestionario.
  • Practica 4. Utilización try...except:
  • Ejemplo. Ciclos anidados. Tablas de multiplicar
  • Práctica 5. Funciones y Módulos
    • Ejemplo de funciones
    • Análisis funciones. Ejercicio 1. Segundos totales.
    • Crear un programa ejecutable
    • Importar Módulos
  • Ejemplo de funciones. Comprobar NIF correcto
  • Ejemplo funciones y listas.
  • Instalar Numpy
  • Práctica 6. Matrices. Conjuntos
    • Ejemplo, matrices: Suma y Multiplicación (numpy y listas)
    • Ejemplo: Introducir datos en una matrices (Listas y numpy)
    • Análisis del problema de las Tuberías
    • Ejemplo, Conjuntos. Intersección
    • Análisis del ejercicio 3. nombres no repetidos (Conjuntos)
    • Análisis: Ejercicio 3 Complementario (Mátriz).
  • Clase
  • Ejemplo Ficheros o Archivos. Práctica 7.
  • Análisis de la Práctica 7. Fichero o Archivo
  • Ejemplo de base de datos: Sqlite
  • Ejemplo de base de datos. Sqlite 3. Introducir y visualizar datos.
  • Ejemplo. Funciones, matriz. Recuento de votos
  • Ejemplo, GUI Interfaces Gráficas. Cálculo del área de un Triángulo
  • Cuestionario
  • Ejemplo. Cálculo de Nómina mensual
  • Matrices 2ª Prueba Evaluación Continua. Curso 2018-2019 Parcial. Prof MRD
  • Prueba Evaluación Continua. Curso 2018-2019. Examen 1. Prof. MRD
Con tecnología de GitBook
En esta página
  • Enunciado
  • Análisis:
  • Diagrama
  • Para crear un menú. Explicación
  • Para pedir un número.
  • Código para sumas parciales
  • Código números primos
  • Código Completo
  • Probarlo
  • Video

¿Te fue útil?

Ejemplo funciones y listas.

Enunciado

Aparecerá un menú con las opciones 1. (S)umas parciales 2. (N)Números 3. (S)alir. El programa debe repetirse mientras el usuario no seleccione la opción 3. E En caso de escoger una opción no válida se muestra un mensaje de error.

Opción 1, introducir números enteros positivos y mayores que cero en una lista, para formar una segunda lista con las sumas parciales de los números de la primera lista (el primero, el primero más el segundo, el primero más el segundo más el tercero, etc.). Para ello, previamente le preguntará al usuario cuantos números va a introducir. A continuación, se mostrará los siguientes resultados (se utilizará listas):

  1. Los números de la primera lista.

  2. Los números de la lista creada.

Opción 2, introducir números enteros positivos y mayores que cero, hasta que el usuario teclee un cero. A continuación, visualizará los siguientes resultados:

  1. Visualizar los números introducidos, sin visualizar el cero.

  2. Cantidad de números introducidos (sin contabilizar el cero).

  3. Visualizar los números primos introducidos.

  4. Visualizar la suma de los números primos y cuantos fueron.

Opción 3 Salir. Debe aparecer tu nombre y el grupo al que perteneces.

Análisis:

  • Se creará un menú, y solamente podrá salir con la opción.

  • Para cada opción del menú se creará una función.

  • Como todas las opciones, piden números enteros, se creará una única función.

Diagrama

Para crear un menú. Explicación

Se creara una lista que permita validar las opciones correctas. lista_opciones=["P","N","S"]

Los valores introducidos se pasarán a mayúsculas. menu_opcion=input(Mensaje).upper()

Código para validar que sea una opción correcta.

if menu_opcion in lista_opciones:

Repetir hasta que introduzco una opción válida while

Código función

def pedir_menu():
    bandera=True
    lista_opciones=["P","N","S"]
    while bandera:
        Mensaje="Opción 1. (P)Sumas parciales\nOpción 2. (N)Números\nOpción 3. (S)alir \nDame la opción a realizar: "
        menu_opcion=input(Mensaje).upper()
        if menu_opcion in lista_opciones:
            bandera=False
        else:
            print("Tecleaste mal la opción")

Para pedir un número.

Código para validar que sea un número entero y mayor que cero se utiliza while hasta que se cumpla y evitar que un error con `try/except.

Código función

def validar_numero(mensaje):
        cierto=True
        #La cantidad de números a introducir
        while cierto:
            try:
                cantidad=int(input(mensaje))
                if cantidad >=0:
                    cierto=False

                else:
                    print("Dato no válido")
            except:
               print("Tecleaste un valor diferente a un número")
        return cantidad

Código para sumas parciales

Con append() permite introducir los números a la lista.

Y len(lista), la cantidad de datos de una lista.

def sumas_parciales():
        numero=[]
        Lista_numero=[]
        #La cantidad de números a introducir
        cantidad=0
        while cantidad ==0:
            cantidad=validar_numero("Dime cuantos números vas a introducir: ")
            if cantidad ==0:
                print("Tecleaste un 0, debes teclear un número superior a 0")
        suma=0
        for i in range(cantidad):
            #Verificar número sea postivo y no sea letra
             numero_introducir=validar_numero("Dime el número a introducir ")
             if numero_introducir > 0:
                        numero.append(numero_introducir)
                        suma+=numero_introducir
                        Lista_numero+=[suma]

        #Visualizar datos
        print("Los núemros introducidos son: {}".format(numero))
        print("La suma de números es:  {}".format(Lista_numero))

Código números primos

Para introducir los datos en la lista se utiliza append().

Para el cálculo del número primo se calcula, si desde el número 2 hasta el número -1 ()for i in range(2,numero_introducir):), el resto es diferente de cero (if numero_introducir%i==0), se introduce en la lista de los primos append.

Con sum(lista), permite obtener la sula de los números primos.

Y len(lista), la cantidad de datos de una lista.

def numeros_primos():
        numero=[]
        lista_primos=[]
        cierto=True
        while cierto:
            numero_introducir=validar_numero("Número a introducir: ")
            if numero_introducir >= 0:
                    if numero_introducir==0:
                          cierto=False
                          print("Terminaste")
                    else:
                         numero.append(numero_introducir)
                         primo=0
                         for i in range(2,numero_introducir):

                                if numero_introducir%i==0:
                                    primo+=1


                         if primo == 0 or numero_introducir==1:
                                lista_primos.append(numero_introducir)
        #~Cálculo de cantidad de personas menores que 18, mayores que 60

        print("Los Números introducios son: {}. Fueron {} números".format(numero, len(numero)))
        print("Los Números primos fueron: {}. Su suma fue: {}. Fueron {} números".format(lista_primos, sum(lista_primos),len(lista_primos)))

Código Completo

#Crear el menú
def pedir_menu():
    bandera=True
    lista_opciones=["P","N","S"]
    while bandera:
        Mensaje="Opción 1. (P)Sumas parciales\nOpción 2. (N)Números\nOpción 3. (S)alir \nDame la opción a realizar: "
        menu_opcion=input(Mensaje).upper()
        if menu_opcion in lista_opciones:
            bandera=False

        else:
            print("Tecleaste mal la opción")

    return menu_opcion

def validar_numero(mensaje):
        cierto=True
        #La cantidad de números a introducir
        while cierto:
            try:
                cantidad=int(input(mensaje))
                if cantidad >=0:
                    cierto=False

                else:
                    print("Dato no válido")
            except:
               print("Tecleaste un valor diferente a un número")
        return cantidad
def sumas_parciales():
        numero=[]
        Lista_numero=[]
        #La cantidad de números a introducir
        cantidad=0
        while cantidad ==0:
            cantidad=validar_numero("Dime cuantos números vas a introducir: ")
            if cantidad ==0:
                print("Tecleaste un 0, debes teclear un número superior a 0")
        suma=0
        for i in range(cantidad):
            #Verificar número sea postivo y no sea letra
             numero_introducir=validar_numero("Dime el número a introducir ")
             if numero_introducir > 0:
                        numero.append(numero_introducir)
                        suma+=numero_introducir
                        Lista_numero+=[suma]

        #Visualizar datos
        print("Los núemros introducidos son: {}".format(numero))
        print("La suma de números es:  {}".format(Lista_numero))


def numeros_primos():
        numero=[]
        lista_primos=[]
        cierto=True
        while cierto:
            numero_introducir=validar_numero("Número a introducir: ")
            if numero_introducir >= 0:
                    if numero_introducir==0:
                          cierto=False
                          print("Terminaste")
                    else:
                         numero.append(numero_introducir)
                         primo=0
                         for i in range(2,numero_introducir):

                                if numero_introducir%i==0:
                                    primo+=1


                         if primo == 0 or numero_introducir==1:
                                lista_primos.append(numero_introducir)
        #~Cálculo de cantidad de personas menores que 18, mayores que 60

        print("Los Números introducios son: {}. Fueron {} números".format(numero, len(numero)))
        print("Los Números primos fueron: {}. Su suma fue: {}. Fueron {} números".format(lista_primos, sum(lista_primos),len(lista_primos)))


print("inicio")
bandera=True
while bandera:
    #Pedir las ocpiones al usuario

    menu=pedir_menu()

    if menu=="P":
        #Introducir y validar datos
        print("Opcion 1. Sumas parciales")
        sumas_parciales()

    elif menu=="N":
            #Introducir y validar datos
        print("Opcion 2. Números Primos ")
        numeros_primos()
    elif menu=="S":
            print("Opcion 3.")
            print("Mi nombre es Juan Penas Grupo Grupo X")
            bandera=False

Probarlo

Video

AnteriorEjemplo de funciones. Comprobar NIF correctoSiguienteInstalar Numpy

Última actualización hace 5 años

¿Te fue útil?

Edpuzzle | Make Any Video Your LessonEdpuzzle
Google Colaboratory
Logo
Logo