forked from HectorRiquelme/lenguaje-python
-
Notifications
You must be signed in to change notification settings - Fork 0
/
08-funciones.py
157 lines (98 loc) · 3.76 KB
/
08-funciones.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
'''
tema: 08 - funciones
A - función
B - parámetros
C - retornos
D - argumentos variables
ejercicio:
01 - función con *args para sumar
02 - función con *args para multiplicar
03 - calculadora de impuestos
'''
'''
::::::::::::::::::::::::::::::
A - función
::::::::::::::::::::::::::::::
las funciones son utilizadas para atomizar acciones que se realizan
separadas del resto, dando la posibilidad de ordenar y reutilizar código
def función():
print('soy una función')
::::::::::::::::::::::::::::::
B - parámetros
::::::::::::::::::::::::::::::
una función puede establecer parámetros
que son datos de entrada para ser utilizados dentro
de la función
def función( parámetro1 , parámetro2 ):
print(parámetro1+parámetro2)
se puede definir el tipo de dato que se espera en un parámetro,
sin embargo, esto es solo de modo ilustrativo y de orientación,
al no ser un lenguaje fuertemente tipado, la función podría recibir
de todas maneras otro tipo de dato en sus parámetros
def función(parámetro: int)
print(parámetro)
las funciónes también pueden tener un parámetro con un valor (argumento)
por default, de forma tal que si la función no recibe un valor
al momento de ser utilizada, entonces el parámetro toma dicho valor
establecido previamente
def función(parámetro: int = 100)
return parámetro
::::::::::::::::::::::::::::::
C - retornos
::::::::::::::::::::::::::::::
el retorno en una función es el valor que esperamos
como resultado luego de que dicha función haya sido ejecutada
def función_suma(parámetro1, parámetro2):
return parámetro1 + parámetro2
también es posible indicar de forma ilustrativa lo que esperamos
que la función deba retornar
def funcion(parámetro: int) -> int: #se espera que el retorno sea un valor entero
return parámetro * parámetro
:::::::::::::::::::::::::::::::::::::::
D - argumentos variables
:::::::::::::::::::::::::::::::::::::::
hablamos de argumentos variables cuando una función es capaz de recibir
más de un valor en sus argumentos y estos no han sido especificados.
Las formas utilizadas para ingresar argumentos variables a una funciónes es
- mediante un parámetro tipo tupla, anteponiendo un asterico al parámetro:
def funcion(*args)
- o un parámetro tipo diccionario, anteponiendo dos asteriscos al parámetro:
def funcion(**wargs)
'''
#----------------------------------------------
'''
::::::::::::::::::::::::::::::::::::::::::::::::
01 - función con *args para sumar
::::::::::::::::::::::::::::::::::::::::::::::::
'''
print(f'\n01 - función con *args para sumar\n')
def sumar(*args) -> int:
resultado = 0
for valor in args:
resultado += valor
return resultado
print('resultado de suma:',sumar(4,5))
'''
::::::::::::::::::::::::::::::::::::::::::::::::
02 - función con *args para multiplicar
::::::::::::::::::::::::::::::::::::::::::::::::
'''
print(f'\n02 - función con *args para multiplicar\n')
def multiplicar(*args) -> int:
resultadom = 1
for valor in args:
resultadom *= valor
return resultadom
print('resultado de multiplicacion:',multiplicar(4,5))
'''
::::::::::::::::::::::::::::::::::::::::::::::::
03 - calculadora de impuestos
::::::::::::::::::::::::::::::::::::::::::::::::
'''
print(f'\n03 - calculadora de impuestos\n')
pago = int(input('proporcione el pago:'))
impuesto = int(input('proporcione el impuesto:'))
def calcularImpuesto(pago: int = 1, impuesto: int = 1) -> float:
pago_con_impuesto = pago + impuesto * (pago/100)
return pago_con_impuesto
print('pago con impuesto: ',calcularImpuesto(pago,impuesto))