Ejercicios con funciones
Clase 19
Material Clase
Ejercicio
Crear un menú con una opción para:
- Sumar 2 números.
- Verificar si los números son par o impar.
- Calcular el factorial del número mayor.
- Sumar los valores de una lista numérica de rango de los números ingresados.
- Ingresar y validar rut.
- Salir.
Solución Ej
- Se crean 2 archivos
main.py
yfunciones.py
main.py
llama afunciones.py
mediante la instrucción inicial:
from funciones import *
- Todas las funciones devuelven un valor (
int
obool
). - Ninguna funcion imprime texto (esto es, para reutilizarlas más adelante)
funciones.py
def suma(n1,n2):
return (n1+n2)
def par(num):
return True if (num%2 == 0) else False
def factorial(num):
= 1
mult for i in range(1,num+1):
= mult * i
mult return mult
def listaNumerica(num1,num2):
= []
lista for i in range(num1,num2+1):
lista.append(i)return lista
def sumaLista(lista):
sum = 0
for i in lista:
sum = sum + i
return sum
def validarRut(rut):
= rut[-1].upper()
ultDigito = rut[:-2].zfill(8)
rut sum = 0
for i,j in zip(rut,'32765432'):
sum = sum + (int(i) * int(j))
= (sum/11) - int(sum/11)
decimal = round(11-(11*decimal))
digito = 'K' if (digito == 10) else 0 if (digito == 11) else digito
digito return True if (str(digito) == ultDigito) else False
main.py
from funciones import *
= int(input("Ingrese valor del 1er número: "))
num1 = int(input("Ingrese valor del 2do número: "))
num2
= 1 # número random distinto de 6, para entrar a bucle
op while op!=6:
print('------------------------------------------------------------------------')
print('1. Sumar 2 números')
print('2. Verificar si los números son Par o Impar')
print('3. Factorial del número mayor')
print('4. Sumar valores de una lista numérica creada con los números ingresados')
print('5. Ingresar rut y validar')
print('6. Salir')
print('------------------------------------------------------------------------')
= int(input('Ingrese su opción: '))
op
if op==1:
= suma(num1,num2)
rsuma print(f'--- La suma de los números es: {rsuma} ---')
elif op==2:
= par(num1)
esPar1 = par(num2)
esPar2
print(f'--- {num1} es par ---') if esPar1 else print(f'--- {num1} es impar ---')
print(f'--- {num2} es par ---') if esPar2 else print(f'--- {num2} es impar ---')
elif op==3:
= max([num1,num2])
numMayor = factorial(numMayor)
result print(f'--- el factorial de {numMayor} es: {result} ---')
elif op==4:
= listaNumerica(num1,num2)
lista = sumaLista(lista)
suma print(f'--- lista Númerica: {lista} ---')
print(f'--- suma elementos lista Numérica: {suma} ---')
elif op==5:
= input('Ingrese el Rut a validar(sin puntos, con guión): ')
rut = validarRut(rut)
rutValido if rutValido:
print(f'--- El rut {rut} es válido ---')
else:
print(f'--- El rut {rut} NO es válido ---')
elif op==6:
print('--- Salir ---')