Funciones Python
Funciones Python
Ejemplo:
Función
def saluda():
print ("Ejemplo de Función")
saluda()
3
4
5
Función sin parámetros:
def suma():
A=100; B=200
S = A + B
print("Resultado: ", S)
Se Invoca a la función
suma() Se llama al función
Se ejecuta la función
6
Función con parámetros:
def multiplica(A,B):
M = A * B
print("Resultado: ", M)
multiplica(2,10)
7
Función con la palabra return: • La palabra return devuelve un valor de salida de la función.
Al nombre de la función se le asigna un tipo de dato.
• Pueden existir varias palabras return en una función.
• La palabra return es opcional
print(f(0.5))
#Devuelve: -2.75
8
Función con varios return:
9
Función con un return que devuelve varios valores:
# Función que recibe segundos y retorna hora, minutos y segundos
def Convertir_A_HMS(seg):
# Horas = Divisíón entera de los segundos entre 3600
h = seg//3600
# Saldo de segundos
seg = seg - h*3600
# Minutos = División entera de los segundos entre 60
m = seg//60
# Saldo de segundos
seg = seg - m*60
# saldo final en segundos
s = seg
return h,m,s
hor,minu,seg = Convertir_A_HMS(1500) 10
print("Corresponde a ",hor,":",minu,":",seg)
# agregar espacio después
de cada caracter
Parámetros o
argumentos
def Espaciar(cad):
cad = cad.replace(""," ")
return cad
print( Espaciar("mensaje") )
# Retorna: m e n s a j e
11
Opcionales: Los parámetros opcionales se indican con el
operador ‘=’, tienen un valor por defecto y
siempre se definen después de los parámetros
obligatorios.
Los parámetros pueden ser:
Posicionales: Son aquellos parámetros en los que el valor en el
que se asignan los argumentos depende del orden
con el que se llaman.
12
Parámetro
opcional
saludo('Juan')
saludo('Juan')
13
Parámetro Parámetro
posicional u posicional u
obligatorio obligatorio
saludo('Juan','Saludos cordiales')
14
def saludo(nombre, mensaje):
print(f"Hello {nombre}: {mensaje} ")
Parámetro con
nombre en Parámetro con
cualquier orden en nombre en cualquier
la invocación orden en la
invocación
15
¡ Recuerda ! :
16
def muestra_x():
x = 10
✓ El ámbito de una variable define dónde puede usarse esa print(f'Local x = {x}')
variable
✓ Una variable local declarada en un bloque de programa,
solamente puede ser usada en ese bloque x = 20
✓ El ámbito de una variable también aplica a las funciones
17
def muestra_x():
Variable x = 10
local print(f'Local x = {x}')
x = 20
Variable
global
18
Uso de la palabra global en una variable
Anidamiento de funciones.
def funcion_a(): def funcion_a():
# global x global x
x = 2 x = 2
def funcion_b(): def funcion_b():
# global x global x
x = 3 x = 3
print(x) print(x)
funcion_b() funcion_b()
print(x) print(x)
x = 1 x = 1
funcion_a() funcion_a()
print(x) print(x)
19
Salida: 3 2 1 Salida: 3 3 3
¡ Todos los parámetros se pasan por referencia !, sin embargo.
PARAMETROS POR VALOR PARAMETROS POR REFERENCIA
Los parámetros por valor se refieren a los tipos de Los parámetros por referencia se refieren a los tipos de
datos inmutables, como los números y las cadenas. datos mutables, como las listas y los diccionarios.
# Ejemplo de uso
resultado = sumar(1, 2, 3, 4, 5)
print(resultado)
# Retorna: 15
El uso del asterisco en la definición de argumentos, permite que la función reciba un número
variable de argumentos, lo que hace que el código sea más flexible y reusable. 21
1. Cómo identifico a una Función sin parámetros ?
2. Cómo identifico a una Función con parámetros ?
3. Cuándo un argumento se llama opcional ?
4. Cuándo un argumento se denomina posicional ?
5. Por qué se invoca a un parámetro por su nombre?
6. Qué Función se denomina anidada ?
7. Cuándo se usa la palabra global ?
22
1. Cómo identifico a una Función sin parámetros ?
def mensaje():
print (“El sistema operativo es el alma del ordenador")
mensaje()
23
2. Cómo identifico a una Función con parámetros ?
def cuenta(frase):
palabras = len(frase.split())
print ("Cantidad de palabras: ",palabras)
cuenta("Python es un intérprete ")
24
3. Cuándo un argumento se llama opcional ?
saludo('[email protected]')
25
4. Cuándo un argumento se denomina posicional ?
def unir(s1,s2):
print('s2 es separado por s1 :', s1.join(s2))
unir(',','123456’)
#Muestra: 1,2,3,4,5,6
26
5. Por qué se invoca a un parámetro por su nombre ?
def red(email,password):
print(email +' '+password)
red(password='Clauss@hoffman', email='cla123')
27
6. Qué Función se denomina anidada ?
#Anidamiento de funciones
def funcion_externa(x):
# oculta del codigo externo
def funcion_interna(x):
return x + 2
y = funcion_interna(x)
print(x, y)
funcion_externa(5)
fecha = "17-06-2002"
def actualizar_fecha():
global fecha
fecha = "12-03-2021"
actualizar_fecha()
print(fecha)
Cuándo es la salida ? 29
8. Cuándo se usa el operador * ?
30
Funciones
31
Desarrollar una función para encontrar las raíces de la ecuación cuadrática:
ax2 + bx + c = 0
32
Codificar un programa que permita capturar una frase, esta frase se pasará a una
función como parámetro. Esta función devolverá la cantidad de vocales y
consonantes de la frase
Ejemplo1. Ejemplo2.
Frase = ‘Divide y vencerás’ Frase = ‘DIVISIÓN por cero’
Cantidad de Vocales = 7 Cantidad de Vocales = 7
Cantidad de Consonantes = 8 Cantidad de Consonantes = 8
Ejemplo3.
Frase = ‘ORACIÓN O PRUEBA’
Cantidad de Vocales = 8
Cantidad de Consonantes = 6
33
Implementar una función que devuelva la sumatoria de los cuadrados de N valores
aleatorios comprendidos entre 100.00 y 250.99. Muestre el resultado final en
notación científica.
Ejemplo1. Ejemplo2.
N = 10 N = 100
Suma = 1.26e+05 Suma = 1.24e+05
Ejemplo3.
N = -1
Suma = 0.00e+00
#Genera reales
#genera enteros
import random
import random 34
numero_aleatorio = random.uniform(10, 20)
numero_aleatorio = random.randint(1, 10)
print(numero_aleatorio)
print(numero_aleatorio)
Dado un conjunto de palabras con los siguientes separadores , . : ; - se requiere crear
una función que obtenga como salida la cantidad de palabras de la frase.
Lógica: Reemplazar todos los separadores por uno de ellos de tal forma que exista un solo
separador luego de cada palabra. Luego contar los separadores de la frase. Finalmente la cantidad
de palabras será la cantidad de separadores +1.
Nota: Se sugiere utilizar las sgtes funciones: replace, count
Ejemplo1:
cadena = 'Japón,China NorCorea-Italia:Rusia;EEUU.Inglaterra-Brasil'
contar = 8
Ejemplo2:
cadena = ‘Londres,Buenos Aires.Berlin-Paris;Roma:Quito'
contar = 7
Ejemplo2:
cadena = ‘1-dos,tres:4.seis;10' 35
contar = 6
Crear una función llamada “Combinatorio” que invoque una función
denominada “Factorial” para calcular el número combinatorio dado por:
𝑚!
𝐶𝑛𝑚 =
𝑛! 𝑚 − 𝑛 !
Ejemplo1:
y = 0.1464
37
Implemente una función para convertir coordenadas polares a rectangulares.
Debe tener en cuenta lo siguiente:
x = r cos(θ) ; y = r sen(θ)
1 2 3 𝑛
− 2 + 3 − ⋯+ 𝑛
2 2 2 2
Sugerencia: Use la función math.pow() para generar los denominadores
39
Crear funciones que permitan realizar los siguientes tipos de cambio monetario
a Bolivianos:
• De Euro a Bs.
• De Dólar EE.UU a Bs
• De Yen a Bs.
• De Libra Esterlinas a Bs.
• Círculo A = π r2 P=2πr
• Paralelogramo A=bh P = 2(a+b)
• Trapecio A = (a+b)h/2 P = a+b+2c
• Rombo A = ( d1 d2 )/2 P = 4a
Sobre un sub-menú:
Ejemplo1: Ejemplo2: Ejemplo3: Ejemplo4:
Circulo Paralelogramo Paralelogramo Rombo
r = 20 b=4 a=6 d1 = 10
h=5 b=4 d2 = 12
A = 1256.64 a=6 c=5 a=8
P = 125.66 h= 5,5
A =20 A =27.50 A =60.00 41
Funciones Anidadas
Funciones Python
4. Más herramientas para control de flujo — documentación de Python - 3.10.2