Skip to content

Commit 145b2ac

Browse files
authored
Merge pull request mouredev#4874 from LucasRebuffo/main
#28 - Python
2 parents 15b6c54 + f14d19d commit 145b2ac

File tree

7 files changed

+838
-0
lines changed

7 files changed

+838
-0
lines changed
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
""" /*
2+
* ¿Preparad@ para aprender o repasar el lenguaje de programación que tú quieras?
3+
* - Recuerda que todas las instrucciones de participación están en el
4+
* repositorio de GitHub.
5+
*
6+
* Lo primero... ¿Ya has elegido un lenguaje?
7+
* - No todos son iguales, pero sus fundamentos suelen ser comunes.
8+
* - Este primer reto te servirá para familiarizarte con la forma de participar
9+
* enviando tus propias soluciones.
10+
*
11+
* EJERCICIO:
12+
* - Crea un comentario en el código y coloca la URL del sitio web oficial del
13+
* lenguaje de programación que has seleccionado.
14+
* - Representa las diferentes sintaxis que existen de crear comentarios
15+
* en el lenguaje (en una línea, varias...).
16+
* - Crea una variable (y una constante si el lenguaje lo soporta).
17+
* - Crea variables representando todos los tipos de datos primitivos
18+
* del lenguaje (cadenas de texto, enteros, booleanos...).
19+
* - Imprime por terminal el texto: "¡Hola, [y el nombre de tu lenguaje]!"
20+
*
21+
* ¿Fácil? No te preocupes, recuerda que esta es una ruta de estudio y
22+
* debemos comenzar por el principio.
23+
*/ """
24+
25+
# https://www.python.org/
26+
27+
# Comentario de una linea
28+
""" Docstring (varias lineas) """
29+
30+
variable = 10
31+
CONSTANTE = "Python" # Realmente no es una constante pero se pone en mayuscula para indicar que lo es
32+
33+
numero = 2
34+
cadena_texto = "cadena"
35+
valor_booleano = True
36+
flotente = 1.2
37+
38+
print(f"¡Hola, {CONSTANTE}!")
Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
""" /*
2+
* EJERCICIO:
3+
* - Crea ejemplos utilizando todos los tipos de operadores de tu lenguaje:
4+
* Aritméticos, lógicos, de comparación, asignación, identidad, pertenencia, bits...
5+
* (Ten en cuenta que cada lenguaje puede poseer unos diferentes)
6+
* - Utilizando las operaciones con operadores que tú quieras, crea ejemplos
7+
* que representen todos los tipos de estructuras de control que existan
8+
* en tu lenguaje:
9+
* Condicionales, iterativas, excepciones...
10+
* - Debes hacer print por consola del resultado de todos los ejemplos.
11+
*
12+
* DIFICULTAD EXTRA (opcional):
13+
* Crea un programa que imprima por consola todos los números comprendidos
14+
* entre 10 y 55 (incluidos), pares, y que no son ni el 16 ni múltiplos de 3.
15+
*
16+
* Seguro que al revisar detenidamente las posibilidades has descubierto algo nuevo.
17+
*/ """
18+
19+
##Operadores aritmeticos
20+
print(f"Suma 100 + 50 :{100+50}")
21+
print(f"Resta 100 - 50 :{100-50}")
22+
print(f"Multiplicacion 100 * 50 :{100*50}")
23+
print(f"Division 100 / 50 :{100/50}")
24+
print(f"Modulo 100 % 50 :{100 % 50}")
25+
print(f"Potencia 2 ** 50 :{2**50}")
26+
print(f"Division entera 2 // 50 :{6**50}")
27+
28+
## Operadores de comparacion
29+
print(f"Igual 6 == 6 :{6==6}")
30+
print(f"No igual 6 != :{6!=6}")
31+
print(f"Mayor 2 > 50 :{6>50}")
32+
print(f"Menor entera 2 < 50 :{6<50}")
33+
print(f"Menor o igual entera 2 <= 50 :{6<=50}")
34+
print(f"Mayor o igual entera 2 >= 50 :{6>=50}")
35+
print(f"Division entera 2 // 50 :{6**50}")
36+
37+
##Operadores logicos
38+
print(f"AND True and True :{4+4 == 8 and 6 == 5+1}")
39+
print(f"OR True or False :{4+4 == 8 or 6 == 5}")
40+
print(f"NOT False :{not 6 == 9*3}")
41+
42+
## Operadores de asignacion
43+
num = 4
44+
print(num)
45+
num += 1
46+
print(num)
47+
num -= 1
48+
print(num)
49+
num *= 2
50+
print(num)
51+
num /= 3
52+
print(num)
53+
num %= 2
54+
print(num)
55+
num **= 2
56+
print(num)
57+
num //= 4
58+
print(num)
59+
60+
## Operadores de identidad
61+
my_var = 0.0
62+
print(f"my_var is my_other_var {my_var is num}")
63+
print(f"my_var is not my_other_var {my_var is not num}")
64+
65+
## Operadores de pertenencia
66+
print(f"'u' in 'lucas' = {'u' in 'lucas'}")
67+
print(f"'v' not in 'lucas' = {'u' not in 'lucas'}")
68+
69+
70+
## Operadores de bit
71+
a = 8 # 1000
72+
b = 9 # 1001
73+
print(f"AND : 8 & 9: {a & b}")
74+
print(f"OR : 8 | 9: {a | b}")
75+
print(f"XOR : 8 ^ 9: {a ^ b}")
76+
print(f"NOT : ~8: {~a}")
77+
print(f"RShift : 8 >> 2: {a >> 2}")
78+
print(f"LShift : 8 << 2: {a << 2}")
79+
80+
## Estructuras de control
81+
82+
## Condicionales
83+
var = "lucas"
84+
if var == "alberto":
85+
print("Condicional")
86+
elif var != "lucas":
87+
print("elif")
88+
else:
89+
print("else")
90+
91+
##Iterativas
92+
for num in range(11):
93+
print(num)
94+
95+
numer = 20
96+
while numer > 0:
97+
print(numer)
98+
numer -= 1
99+
100+
## Excepciones
101+
try:
102+
10 / 0
103+
except:
104+
raise (ZeroDivisionError)
105+
finally:
106+
print("Finalizado exitosamente")
107+
108+
109+
## Extra
110+
for num in range(10, 56):
111+
if (not (num == 16 or num % 3 == 0)) and num % 2 == 0:
112+
print(num)
Lines changed: 167 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,167 @@
1+
""" /*
2+
* EJERCICIO:
3+
* - Crea ejemplos de funciones básicas que representen las diferentes
4+
* posibilidades del lenguaje:
5+
* Sin parámetros ni retorno, con uno o varios parámetros, con retorno...
6+
* - Comprueba si puedes crear funciones dentro de funciones.
7+
* - Utiliza algún ejemplo de funciones ya creadas en el lenguaje.
8+
* - Pon a prueba el concepto de variable LOCAL y GLOBAL.
9+
* - Debes hacer print por consola del resultado de todos los ejemplos.
10+
* (y tener en cuenta que cada lenguaje puede poseer más o menos posibilidades)
11+
*
12+
* DIFICULTAD EXTRA (opcional):
13+
* Crea una función que reciba dos parámetros de tipo cadena de texto y retorne un número.
14+
* - La función imprime todos los números del 1 al 100. Teniendo en cuenta que:
15+
* - Si el número es múltiplo de 3, muestra la cadena de texto del primer parámetro.
16+
* - Si el número es múltiplo de 5, muestra la cadena de texto del segundo parámetro.
17+
* - Si el número es múltiplo de 3 y de 5, muestra las dos cadenas de texto concatenadas.
18+
* - La función retorna el número de veces que se ha impreso el número en lugar de los textos.
19+
*
20+
* Presta especial atención a la sintaxis que debes utilizar en cada uno de los casos.
21+
* Cada lenguaje sigue una convenciones que debes de respetar para que el código se entienda.
22+
*/ """
23+
24+
## Funcion sin retorno y sin argumentos
25+
26+
27+
from cgi import print_arguments
28+
29+
30+
def saludar():
31+
print("Hola a todos!")
32+
33+
34+
saludar()
35+
36+
## Funcion con retorno sin argumentos
37+
38+
39+
def my_name():
40+
return "Lucas"
41+
42+
43+
print(my_name())
44+
45+
## Funcion con retorno y argumentos
46+
47+
48+
def suma(a, b):
49+
return a + b
50+
51+
52+
print(suma(1, 1))
53+
54+
55+
## Funcion con parametro por defecto
56+
57+
58+
def saludo_default(nombre="Lucas"):
59+
print(f"Hola {nombre}")
60+
61+
62+
saludo_default()
63+
64+
65+
## Retorno multiple
66+
67+
68+
def saludar_multiple():
69+
return "Hola", "Python"
70+
71+
72+
saludo, name = saludar_multiple()
73+
74+
print(saludo)
75+
print(name)
76+
77+
## Con numero variables de argumentos posicionales
78+
79+
80+
def variables_args_saludo(*args):
81+
for name in args:
82+
print(f"Hola {name}")
83+
84+
85+
variables_args_saludo("pablo", "comunidad", "Python")
86+
87+
## Con numero variable de argumentos pero con **kwargs
88+
89+
90+
def kwargs_saludo(**kwargs):
91+
for key, value in kwargs.items():
92+
print(f"{key} : {value}")
93+
94+
95+
kwargs_saludo(nombre1="lucas", nombre2="pepe", nombre3="numero")
96+
97+
98+
## Funciones detro de otras
99+
100+
101+
def funcion_exterior():
102+
def funcion_interna():
103+
print("Funcion interna: Hola Python")
104+
105+
funcion_interna()
106+
107+
108+
funcion_exterior()
109+
110+
## Funciones del lenguaje
111+
112+
print("Imprime el texto")
113+
114+
print(len("String"))
115+
print(len([1, 2, 3]))
116+
117+
print(type(6))
118+
print(type(True))
119+
print(type("6"))
120+
121+
print(chr(45))
122+
123+
print(hash("Hola"))
124+
125+
## Variable locales y globales
126+
127+
variable_global = "Node.js"
128+
129+
print(variable_global)
130+
131+
132+
def hello_node():
133+
variable_local = "Python"
134+
print(f"Hola, {variable_local} {variable_global}")
135+
136+
137+
print(variable_global)
138+
139+
hello_node()
140+
141+
""" * DIFICULTAD EXTRA (opcional):
142+
* Crea una función que reciba dos parámetros de tipo cadena de texto y retorne un número.
143+
* - La función imprime todos los números del 1 al 100. Teniendo en cuenta que:
144+
* - Si el número es múltiplo de 3, muestra la cadena de texto del primer parámetro.
145+
* - Si el número es múltiplo de 5, muestra la cadena de texto del segundo parámetro.
146+
* - Si el número es múltiplo de 3 y de 5, muestra las dos cadenas de texto concatenadas.
147+
* - La función retorna el número de veces que se ha impreso el número en lugar de los textos.
148+
* """
149+
150+
151+
def print_numbers(cadena1: str, cadena2: str):
152+
contador = 0
153+
154+
for num in range(1, 102):
155+
if num % 3 == 0 and num % 5 == 0:
156+
print(cadena1 + cadena2)
157+
elif num % 3 == 0:
158+
print(cadena1)
159+
elif num % 5 == 0:
160+
print(cadena2)
161+
else:
162+
print(num)
163+
contador += 1
164+
165+
return contador
166+
167+
print(print_numbers("fizz", "buzz"))

0 commit comments

Comments
 (0)