Ejemplo de funciones

Listas, try..

Ejemplo

Enunciado

El programa pedirá al usuario un número entero hasta que, voluntariamente, el usuario indique que no quiere introducir más. A continuación, se visualizarán los siguientes resultados:

  • Cuántos números se han generado de dos cifras.

  • Cuál es la media de los números generados.

  • Cuál es la suma de los números de dos cifras introducidos

  • Cuántas cifras en total se han generado (suma de las cifras de todos números).

El programa, debe tener 3 funciones como mínimo:

  • Validar los datos.

  • Calcule los datos y visualizar los datos en la propia función.

  • Calcule la suma de las cifras de todos los números. Y visualice la información en el programa principal

Análisis:

  • Pedir un número al usuario, verificar que éste sea entero mayor que cero.

  • Preguntar al usuario si quiere introducir otro.

  • Visualizar el resultado.

Diagrama

Código completo

#Validar los números introducidos
def validar(mensaje):
    bandera=True
    while bandera:
        try:
            dato=int(input(mensaje))
        except:
            print("No tecleo números")
        else:
            if dato>0:
                bandera=False
            else:
                print("un dato númerico fuera del rango")
    return dato
#Imprimir los resultados
def imprimir():
    print("hay {} de dos cifras".format(len(lista_dos)))
#Calculo del número de cifras   
def calculo():
    suma=0
    for i in range(len(lista_dos)):
        suma+=len(str(lista_dos[i]))
    return suma
#Inicializar las variables
opcion="si"
lista_numeros=[]
lista_dos=[]
#Repetir hasta que el usuario teclee si
while opcion!="no":
    numero=validar("dame el número")
    lista_numeros.append(numero)
    #Verifica si el número tiene dos digitos
    if len(str(numero))==2:
       lista_dos.append(numero)
    opcion=input("quieres continuar").lower()
#Imprimir los resultados
print("lista de números{}".format(lista_numeros))
#Imprimir los resultados si hay números con dos digitos
if len(lista_dos)==0:
    print("no hay de dos cifras")
else:
    imprimir()
    print("la suma de las cifras es {}".format(calculo()))
        

Última actualización