Skip to content

Commit 95bb13a

Browse files
authored
Merge pull request #8969 from Ramirofordev/main
#3 - Python
2 parents 25219c5 + 2771a56 commit 95bb13a

File tree

4 files changed

+397
-0
lines changed

4 files changed

+397
-0
lines changed
Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
# Funciones
2+
3+
# Funcion sin parametro ni retorno
4+
def hello_python():
5+
print("Hola a todos, este es mi codigo en Python!")
6+
7+
hello_python()
8+
9+
# Funcion con parametros pero sin retorno
10+
def area_circulo(ra, pi):
11+
print(f"El de tu circulo es {pi * ra**2}")
12+
13+
area_circulo(2, 3.1416)
14+
15+
# Funcion con parametros y retorno
16+
def say_hello_to_user(user, times):
17+
n = 0
18+
for i in range(times):
19+
print(f"Hello {user}!")
20+
n += 1
21+
22+
return n
23+
24+
count = say_hello_to_user("nacho", 8)
25+
print(f"Se le dijo hola al usuario {count}")
26+
27+
# Funciones dentro de funciones
28+
29+
def show_pair_numbers():
30+
def get_pair_numbers():
31+
numbers = [1, 2, 3, 4, 5, 6]
32+
pair_numbers = []
33+
for i in numbers:
34+
if i % 2 == 0:
35+
pair_numbers.append(i)
36+
37+
return pair_numbers
38+
39+
pair_numbers = get_pair_numbers()
40+
print(pair_numbers)
41+
42+
show_pair_numbers()
43+
44+
# Funciones ya creadas por python
45+
print(sum(5 + 2))
46+
47+
# Variables locales y globales
48+
49+
global pi
50+
51+
def pi_plus_everything():
52+
pi = 3.1416
53+
print(pi)
54+
ultimo_resultado = 0
55+
for i in range(100):
56+
print(f"Pi * {i} es = {pi * i}")
57+
ultimo_resultado = {pi * i}
58+
print(ultimo_resultado)
59+
60+
# print(ultima_operacion) dara error porque solo se puede usar en el scope de la funcion mientras que pi se puede usar en cualquier parte del codigo
61+
62+
pi = "pi"
63+
64+
print(pi)
65+
66+
# Ejercicio opcional
67+
68+
def opc_exercise(text1, text2):
69+
# La funcion imprime todos los numeros del 1 al 100
70+
counts_numbers = 0
71+
for i in range(100):
72+
if i % 3 == 0:
73+
print(text1)
74+
elif i % 5 == 0:
75+
print(text2)
76+
elif i % 3 == 0 and i % 5 == 0:
77+
print(text1 , " " , text2)
78+
else:
79+
print(i)
80+
counts_numbers += 1
81+
return counts_numbers
82+
83+
cantidad = opc_exercise("Pablo", "queso")
84+
print(cantidad)
Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
# Estructuras de datos
2+
3+
# Listas
4+
numbers = [1, 2, 3, 4, 5]
5+
print(numbers)
6+
numbers.append(8) # Insercion
7+
numbers.remove(1) # Eliminacion
8+
print(numbers)
9+
print(numbers[1]) # Acceso
10+
numbers.insert(3, 6) # Actualizacion
11+
numbers[3] = 7 # Actualizacion
12+
print(numbers)
13+
14+
# Tuple
15+
my_tuple = ("Nacho", "Ramiro", "kuro", "jose@gmail")
16+
print(my_tuple[1]) # acceso
17+
my_tuple = tuple(sorted(my_tuple)) # ordenacion
18+
print(my_tuple)
19+
20+
# Sets
21+
my_set = {"pollo", "gato", "perro", "vaca"}
22+
my_set.add("ganso") # Insercion
23+
my_set.discard("vaca") # Eliminacion
24+
my_set.pop() # Eliminacion
25+
my_set = set(sorted(my_set))
26+
print(my_set)
27+
28+
# Diccionarios
29+
my_dict = {
30+
'name': "Nacho",
31+
'age': 18,
32+
'job': 'assistant',
33+
'year': 2006
34+
}
35+
my_dict.pop('job') # Eliminacion
36+
my_dict.popitem() # Eliminacion
37+
print(my_dict)
38+
print(my_dict["age"]) # Acceso
39+
my_dict["age"] = 20 # Insercion
40+
41+
# Ejercicio opcional
42+
43+
contactos = {}
44+
45+
print(contactos)
46+
47+
def buscar():
48+
dato = input("Por favor inserta el nombre del contacto: ").title()
49+
if dato in contactos:
50+
print("Contacto encontrado aqui tienes sus datos: \n" \
51+
f"Nombre: {dato}" \
52+
f"Numero: {contactos[dato]}")
53+
54+
def insertar():
55+
nombre = input("Por favor ingrese el nombre del contacto: ").title()
56+
while True:
57+
numero = input("Porfavor ingrese el numero: ").strip()
58+
if numero.isalnum() and len(numero) <= 11:
59+
contactos[nombre] = numero
60+
break
61+
else:
62+
print("Numero invalido porfavor intentelo de nuevo")
63+
pass
64+
65+
def actualizar():
66+
r = input("Que dato desea actualizar: \n" \
67+
"1. Nombre.\n" \
68+
"2. Numero.")
69+
if r == "1":
70+
old_name = input("Dame el nombre del contacto que deseas cambiar: ").title()
71+
new_name = input("Dame el nuevo nombre: ").title()
72+
if old_name in contactos:
73+
contactos[new_name] = contactos.pop(old_name)
74+
else:
75+
print("Contacto no encontrado")
76+
elif r == "2":
77+
name = input("Dame el nombre del contacto: ").title()
78+
new_number = input("Dame el nuevo numero: ").replace(" ", "")
79+
if name or new_name in contactos:
80+
if new_number.isalnum() and len(new_number) <= 11:
81+
contactos[name] = new_number
82+
else:
83+
print("Numero invalido")
84+
else:
85+
print("Contacto no encontrado")
86+
else:
87+
print("Opcion invalida")
88+
89+
def borrar():
90+
contacto = input("Que contacto deseas eliminar, introduce su nombre por favor: ").title()
91+
if contacto in contactos:
92+
del contactos[contacto]
93+
else:
94+
print("No se encontro ese contacto")
95+
96+
def opciones(respuesta):
97+
funciones = {
98+
"1": buscar,
99+
"2": insertar,
100+
"3": actualizar,
101+
"4": borrar
102+
}
103+
return funciones[respuesta]() # llamara a la funcion usando la respuesta como su llave
104+
105+
while True:
106+
r = input("Bienvenido a la agenda de contactos\n" \
107+
"Elige una de las siguientes opciones: \n" \
108+
"1. Buscar un contacto\n" \
109+
"2. Insertar un nuevo contacto. \n" \
110+
"3. Actualizar un contacto. \n" \
111+
"4. Eliminar un contacto. \n" \
112+
"5. Salir del menu.\n")
113+
114+
if r in ["1", "2", "3", "4"]:
115+
opciones(r)
116+
elif r == "5":
117+
print("Gracias por usar la agenda")
118+
break
119+
else:
120+
print("Opcion no valida porfavor vuelva a intentar.")
121+
pass
Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
# Cadenas de caracteres
2+
3+
string = "Hola Python"
4+
string2 = "Como estan?"
5+
6+
# Concatenacion
7+
print(string + ", " + string2)
8+
9+
# Repeticion
10+
print(string * 3)
11+
12+
# Acceso a caracteres especificos
13+
print(string[2])
14+
15+
# Slicing
16+
print(string[:5])
17+
18+
# Longitud
19+
print(len(string2))
20+
21+
# Busqueda
22+
print('a' in string)
23+
print('h' in string2)
24+
25+
# Conversion a mayusculas, minusculas y primera letra en mayusculas
26+
print(string.upper())
27+
print(string.lower())
28+
print(string2.title())
29+
print("me llamo nacho".capitalize())
30+
31+
# Remplazo
32+
print(string.replace("a", "5"))
33+
34+
# Division
35+
print(string2.split("o"))
36+
37+
# Eliminacion de espacios al principio y al final
38+
print(" hola mi nombre es nacho ".strip())
39+
40+
# Encontrar
41+
print(string.find("P"))
42+
43+
# Busqueda al principio y al final
44+
print(string.startswith("h"))
45+
print(string.endswith("n"))
46+
47+
48+
# Busqueda de ocurrencias
49+
print(string.count("o"))
50+
51+
# Formateo
52+
print("AAAA {} texto sin sentido. {}".format(string, string2))
53+
54+
# Interpolacion
55+
print(f"Viva molotov, {string2}")
56+
57+
# Transformacion en lista de caracteres
58+
caracters = list(string)
59+
60+
# Transformaciones numericas
61+
s1 = "12131341"
62+
s1 = int(s1)
63+
64+
s2 = "1.5"
65+
s2 = float(s2)
66+
67+
# Transformacion de lista en cadena
68+
lista = ["Hola", "Python", "Weyes"]
69+
print(" ".join(lista))
70+
71+
# Comprobaciones
72+
print(string.isalnum())
73+
print(string.isalpha())
74+
print(string.isascii())
75+
print(string.isdecimal())
76+
print(string.isdigit())
77+
print(string.islower())
78+
# Etc..
79+
80+
# Ejercicio extra
81+
82+
def check(word1: str, word2: str):
83+
84+
# Palindromos
85+
print(f"{word1} es un palindromo?: {word1 == word1[::-1]}")
86+
print(f"{word2} es un palindromo?: {word2 == word2[::-1]}")
87+
88+
# Anagramas
89+
print(f"{word1} es un anagrama de {word2}: {sorted(word1) == sorted(word2)}")
90+
91+
# Isograma
92+
def isogram(word: str) -> bool:
93+
94+
word_dict = {}
95+
for character in word:
96+
word_dict[character] = word_dict.get(character, 0) + 1
97+
98+
isograma = True
99+
values = list(word_dict.values())
100+
isagram_len = values[0]
101+
for word_count in values:
102+
if word_count != isagram_len:
103+
isograma = False
104+
break
105+
return isograma
106+
107+
print(f"{word2} es un isograma? {isogram(word2)}")
108+
print(f"{word2} es un isograma? {isogram(word2)}")
109+
110+
111+
check("radar", "Python")
112+
check("amor", "roma")

0 commit comments

Comments
 (0)