Skip to content

Commit a711b6f

Browse files
authored
Merge pull request mouredev#1034 from isilanes/reto-002
#2 - Python
2 parents 80cac5a + 713e8c0 commit a711b6f

File tree

1 file changed

+80
-0
lines changed

1 file changed

+80
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
COLOR = "rojo" # global variable
2+
main_a = 2
3+
main_b = 3
4+
5+
6+
def i_accept_no_arg() -> None:
7+
print("Llamaste a una función sin argumentos (y que no retorna nada).")
8+
9+
10+
def i_accept_two_arguments(first: str, second: str) -> None:
11+
print(f"Llamaste a una función con dos argumentos: {first}, {second} (y que no retorna nada).")
12+
13+
14+
def i_have_a_default_argument(value: int = 33) -> None:
15+
print(f"Llamaste a una función con el argumento value = {value}")
16+
17+
18+
def i_return_something(value: int = 0) -> int | None:
19+
print(f"Llamaste a una función con el argumento value = {value}")
20+
21+
if not isinstance(value, int):
22+
return None
23+
24+
return value * 2
25+
26+
27+
def i_work_with_local_and_global() -> None:
28+
print(f"Dentro de la función conozco la variable global COLOR = {COLOR}")
29+
global main_a
30+
main_a = 4
31+
main_b = 5 # because this is not declared global, it will not affect outside
32+
print(f"Dentro de la función, las variables valen {main_a} y {main_b}")
33+
34+
35+
def main():
36+
i_accept_no_arg()
37+
38+
print("\nLlamo a una función con argumentos sin nombre:")
39+
i_accept_two_arguments("primero", "segundo")
40+
print("Llamo a la misma función con argumentos nombrados:")
41+
i_accept_two_arguments(first="primero", second="segundo")
42+
43+
print("\nLlamo a una función pasando argumento:")
44+
i_have_a_default_argument(45)
45+
print("Llamo a la misma función sin argumento, usando el valor por defecto:")
46+
i_have_a_default_argument()
47+
48+
print("\nLlamo a una función que devuelve algo, e imprimo lo que devolvió:")
49+
ret = i_return_something(123)
50+
print(f"El valor de retorno fue {ret}")
51+
52+
print("\nLlamo a una función que usa variables globales y locales:")
53+
print(f"Antes de llamar a la funcíon, tengo dos variables con valor {main_a} y {main_b}")
54+
i_work_with_local_and_global()
55+
print(f"Tras llamar a la funcíon, los valores son {main_a} y {main_b}. Sólo la primera varió, porque la hice global.")
56+
57+
58+
def extra(first: str, second: str) -> int:
59+
n_number = 0
60+
for i in range(1, 101):
61+
string = ""
62+
if not i % 3:
63+
string = first
64+
65+
if not i % 5:
66+
string = f"{string}{second}"
67+
68+
if string:
69+
print(string)
70+
else:
71+
print(i)
72+
n_number += 1
73+
74+
return n_number
75+
76+
77+
if __name__ == "__main__":
78+
main()
79+
n = extra("fiz", "buzz")
80+
print(f"Se escribió un número {n} veces")

0 commit comments

Comments
 (0)