Funciones en Python
Sintaxis:
def nombre_funcion(argumentos):
instrucciones
return nombre_funcion#se utiliza para números
Ejemplo:
def print_name():
print('Jhon')
En consola se escribe la función seguido de enter:
>>print_name()
>>Jhon
Ingresando los argumentos:
def print_name2(name):
print(f'Mi nombre es {name}')
Escribir en consola:
>>print_name2("Kary")
>>Mi nombre es Kary
Funciones de cálculo:
import math #Siempre el import va al inicio del programa
def area_circulo(radio):
area=math.pi*radio
return area
>>area_circulo(5)
Out[122]: 15.707963267948966
import math
def cal_hipotenusa(a,b):
return math.sqrt(a**2+b**2)
>>cal_hipotenusa(3,5)
Out[124]: 5.830951894845301
Cambiar localmente una variable:
x=50
def func(x):
print(f'x: {x}')
x=2
print('x cambiada localmente',x)
x cambiada localmente 50
func(6)
x: 6
Y en memoria sigue siendo 50
Diferencias entre los args y los kwargs
return caudal*altura*efft*effg*g
potencia(1.5,300,0.9,4)
Out[146]: 15876.000000000002
potencia(1.5,300,0.9,4,g=32.2)
Out[147]: 52164.00000000001
En este ejemplo los args son los valores que se ingresan por teclado.
Y los kwargs son los valores constantes los cuales se pueden escribir en cualquier orden y se los pueden cambiar, como en el ejemplo anterior la gravedad es de 9.8 pero puedo cambiarla a su equivalencia en el sistema ingles 32.2
Ejercicio:
En este ejercicio se debe realizar unas funciones que permitan ingresar, mostrar, eliminar, ayuda y salir del programa para una lista de datos que se deben ingresar por el teclado previamente separados de una coma.
def nombre_funcion(argumentos):
instrucciones
return nombre_funcion#se utiliza para números
Ejemplo:
def print_name():
print('Jhon')
En consola se escribe la función seguido de enter:
>>print_name()
>>Jhon
Ingresando los argumentos:
def print_name2(name):
print(f'Mi nombre es {name}')
Escribir en consola:
>>print_name2("Kary")
>>Mi nombre es Kary
Funciones de cálculo:
import math #Siempre el import va al inicio del programa
def area_circulo(radio):
area=math.pi*radio
return area
>>area_circulo(5)
Out[122]: 15.707963267948966
import math
def cal_hipotenusa(a,b):
return math.sqrt(a**2+b**2)
>>cal_hipotenusa(3,5)
Out[124]: 5.830951894845301
Cambiar localmente una variable:
x=50
def func(x):
print(f'x: {x}')
x=2
print('x cambiada localmente',x)
x cambiada localmente 50
func(6)
x: 6
Y en memoria sigue siendo 50
Diferencias entre los args y los kwargs
def test_var_args ( farg , * args ):
def test_var_kwargs ( farg , ** kwargs ):def potencia(caudal, altura, efft, effg, g=9.8):
return caudal*altura*efft*effg*g
potencia(1.5,300,0.9,4)
Out[146]: 15876.000000000002
potencia(1.5,300,0.9,4,g=32.2)
Out[147]: 52164.00000000001
En este ejemplo los args son los valores que se ingresan por teclado.
Y los kwargs son los valores constantes los cuales se pueden escribir en cualquier orden y se los pueden cambiar, como en el ejemplo anterior la gravedad es de 9.8 pero puedo cambiarla a su equivalencia en el sistema ingles 32.2
Ejercicio:
En este ejercicio se debe realizar unas funciones que permitan ingresar, mostrar, eliminar, ayuda y salir del programa para una lista de datos que se deben ingresar por el teclado previamente separados de una coma.
bom=[]
def remove_item(pos):
#pass se ponde cuando aun no completamos la funcion
idx=pos-1
item=bom.pop(idx)
print(f'Se ha eliminado el elemento {item}')
def show_help():
print ("Ingrese la lista de materiales separados por coma")
print("Para ingresar valores tiene la siguiente opción: \
'MOSTRA' ver la lista, 'ELIMINAR' para borrar un elemento, 'SALIR' para \
abandonar el sistema o 'AYUDA' para mostrar este texto")
def show_list():
count = 1
for item in bom:
print(f'{count}.- {item}')
count +=1
#Ejecución de código
print('Ingrese lista de materiales ')
show_help()
while True:
new_item = input(">> ")
if new_item.lower() == 'salir':
break
if new_item.lower() == 'mostrar':
show_list()
continue
if new_item.lower() == 'ayuda':
show_help()
continue
if new_item.lower() == 'eliminar':
show_list()
idx=int (input('Ingrese la posición del elemento'))
remove_item(idx)
continue
else:
new_list=new_item.split(',')
idx2 = (input('Ingrese posición a ingresar o enter para agregar al final'))
if idx2:#existe un valor en idx2?
pos2= int (idx2)-1
for item in new_list:
bom.insert(pos2,item.strip())
pos2+=1
else:
for item in new_list:
bom.append(item.strip())
def remove_item(pos):
#pass se ponde cuando aun no completamos la funcion
idx=pos-1
item=bom.pop(idx)
print(f'Se ha eliminado el elemento {item}')
def show_help():
print ("Ingrese la lista de materiales separados por coma")
print("Para ingresar valores tiene la siguiente opción: \
'MOSTRA' ver la lista, 'ELIMINAR' para borrar un elemento, 'SALIR' para \
abandonar el sistema o 'AYUDA' para mostrar este texto")
def show_list():
count = 1
for item in bom:
print(f'{count}.- {item}')
count +=1
#Ejecución de código
print('Ingrese lista de materiales ')
show_help()
while True:
new_item = input(">> ")
if new_item.lower() == 'salir':
break
if new_item.lower() == 'mostrar':
show_list()
continue
if new_item.lower() == 'ayuda':
show_help()
continue
if new_item.lower() == 'eliminar':
show_list()
idx=int (input('Ingrese la posición del elemento'))
remove_item(idx)
continue
else:
new_list=new_item.split(',')
idx2 = (input('Ingrese posición a ingresar o enter para agregar al final'))
if idx2:#existe un valor en idx2?
pos2= int (idx2)-1
for item in new_list:
bom.insert(pos2,item.strip())
pos2+=1
else:
for item in new_list:
bom.append(item.strip())
Comentarios
Publicar un comentario