Skip to content

Commit b9f01e2

Browse files
committed
Solved
1 parent 0ea38a8 commit b9f01e2

File tree

9 files changed

+680
-0
lines changed

9 files changed

+680
-0
lines changed
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
2+
# https://www.python.org/
3+
4+
5+
"""
6+
Multiple Lines
7+
"""
8+
9+
variable = 'variable'
10+
print(variable)
11+
12+
x = 42
13+
print(type(x)) # <class 'int'>
14+
15+
y = 3.14
16+
print(type(y)) # <class 'float'>
17+
18+
z = True
19+
print(type(z)) # <class 'bool'>
20+
21+
s = "Hola"
22+
print(type(s)) # <class 'str'>
23+
24+
l = 'Python'
25+
26+
c = 3 + 2j
27+
print(type(c)) # <class 'complex'>
28+
29+
print(f'{s}, {l}')
Lines changed: 140 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,140 @@
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+
# Suma
20+
a = 5
21+
b = 3
22+
suma = a + b
23+
print("Suma:", suma) # Resultado: 8
24+
25+
# Resta
26+
resta = a - b
27+
print("Resta:", resta) # Resultado: 2
28+
29+
# Multiplicación
30+
multiplicacion = a * b
31+
print("Multiplicación:", multiplicacion) # Resultado: 15
32+
33+
# División
34+
division = a / b
35+
print("División:", division) # Resultado: 1.6666666666666667
36+
37+
# División entera
38+
division_entera = a // b
39+
print("División entera:", division_entera) # Resultado: 1
40+
41+
# Módulo (resto de la división)
42+
modulo = a % b
43+
print("Módulo:", modulo) # Resultado: 2
44+
45+
# Exponenciación
46+
exponenciacion = a ** b
47+
print("Exponenciación:", exponenciacion) # Resultado: 125
48+
49+
# AND lógico
50+
x = True
51+
y = False
52+
and_logico = x and y
53+
print("AND lógico:", and_logico) # Resultado: False
54+
55+
# OR lógico
56+
or_logico = x or y
57+
print("OR lógico:", or_logico) # Resultado: True
58+
59+
# NOT lógico
60+
not_logico = not x
61+
print("NOT lógico:", not_logico) # Resultado: False
62+
63+
# Igualdad
64+
a = 5
65+
b = 3
66+
igualdad = a == b
67+
print("Igualdad:", igualdad) # Resultado: False
68+
69+
# Desigualdad
70+
desigualdad = a != b
71+
print("Desigualdad:", desigualdad) # Resultado: True
72+
73+
# Mayor que
74+
mayor_que = a > b
75+
print("Mayor que:", mayor_que) # Resultado: True
76+
77+
# Menor que
78+
menor_que = a < b
79+
print("Menor que:", menor_que) # Resultado: False
80+
81+
# Mayor o igual que
82+
mayor_igual_que = a >= b
83+
print("Mayor o igual que:", mayor_igual_que) # Resultado: True
84+
85+
# Menor o igual que
86+
menor_igual_que = a <= b
87+
print("Menor o igual que:", menor_igual_que) # Resultado: False
88+
89+
x = 5
90+
# Asignación
91+
x += 2 # Equivalente a: x = x + 2
92+
print("Asignación:", x) # Resultado: 7
93+
94+
x = [1, 2, 3]
95+
y = [1, 2, 3]
96+
z = x
97+
98+
# Identidad (comparando referencias de objetos)
99+
identidad1 = x is y
100+
print("Identidad 1:", identidad1) # Resultado: False
101+
102+
identidad2 = x is z
103+
print("Identidad 2:", identidad2) # Resultado: True
104+
105+
# No Identidad
106+
no_identidad = x is not y
107+
print("No Identidad:", no_identidad) # Resultado: True
108+
109+
# Pertenencia (comprobando si un valor está presente en una secuencia)
110+
lista = [1, 2, 3, 4, 5]
111+
pertenencia = 3 in lista
112+
print("Pertenencia:", pertenencia) # Resultado: True
113+
114+
# No Pertenencia
115+
no_pertenencia = 6 not in lista
116+
print("No Pertenencia:", no_pertenencia) # Resultado: True
117+
118+
a = 10 # Representación binaria: 1010
119+
b = 4 # Representación binaria: 0100
120+
121+
# AND a nivel de bits
122+
and_bits = a & b
123+
print("AND a nivel de bits:", and_bits) # Resultado: 0 (binario: 0000)
124+
125+
# OR a nivel de bits
126+
or_bits = a | b
127+
print("OR a nivel de bits:", or_bits) # Resultado: 14 (binario: 1110)
128+
129+
# XOR a nivel de bits
130+
xor_bits = a ^ b
131+
print("XOR a nivel de bits:", xor_bits) # Resultado: 14 (binario: 1110)
132+
133+
# Desplazamiento a la izquierda
134+
despl_izquierda = a << 2
135+
print("Desplazamiento a la izquierda:", despl_izquierda) # Resultado: 40 (binario: 101000)
136+
137+
# Desplazamiento a la derecha
138+
despl_derecha = a >> 1
139+
print("Desplazamiento a la derecha:", despl_derecha) # Resultado: 5 (binario: 101)
140+
Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
"""
2+
/*
3+
* EJERCICIO:
4+
* - Crea ejemplos de funciones básicas que representen las diferentes
5+
* posibilidades del lenguaje:
6+
* Sin parámetros ni retorno, con uno o varios parámetros, con retorno...
7+
* - Comprueba si puedes crear funciones dentro de funciones.
8+
* - Utiliza algún ejemplo de funciones ya creadas en el lenguaje.
9+
* - Pon a prueba el concepto de variable LOCAL y GLOBAL.
10+
* - Debes hacer print por consola del resultado de todos los ejemplos.
11+
* (y tener en cuenta que cada lenguaje puede poseer más o menos posibilidades)
12+
*
13+
* DIFICULTAD EXTRA (opcional):
14+
* Crea una función que reciba dos parámetros de tipo cadena de texto y retorne un número.
15+
* - La función imprime todos los números del 1 al 100. Teniendo en cuenta que:
16+
* - Si el número es múltiplo de 3, muestra la cadena de texto del primer parámetro.
17+
* - Si el número es múltiplo de 5, muestra la cadena de texto del segundo parámetro.
18+
* - Si el número es múltiplo de 3 y de 5, muestra las dos cadenas de texto concatenadas.
19+
* - La función retorna el número de veces que se ha impreso el número en lugar de los textos.
20+
*
21+
* Presta especial atención a la sintaxis que debes utilizar en cada uno de los casos.
22+
* Cada lenguaje sigue una convenciones que debes de respetar para que el código se entienda.
23+
*/
24+
"""
25+
26+
def printHola(name):
27+
print(f"¡Hola, {name}!")
28+
29+
printHola('Andy')
30+
31+
32+
def suma(num1, num2):
33+
34+
def resta(num1, num2):
35+
return print(f"Resta: entre {num1} - {num2} = {num1-num2}");
36+
37+
resta(num1, num2)
38+
return print(f"Suma: entre {num1} + {num2} = {num1+num2}");
39+
40+
41+
suma(20, 10.4)
42+
43+
44+
# sort function
45+
arr = [5,1,25,2,15,12,9,7,20]
46+
print(arr)
47+
arr.sort()
48+
print(arr)
49+
50+
51+
# Ejercicio
52+
def string_parameters(param1, param2):
53+
num_characters = len(param1) + len(param2)
54+
return num_characters
55+
56+
print(string_parameters('Hola', 'Mundo'))
57+
58+
59+
# Ejercicio Extra
60+
def print_numbers(range1, range2):
61+
counter=0
62+
for i in range(range1, range2):
63+
if(i%5==0 and i%3==0):
64+
print('FizzBuzz')
65+
elif(i%3==0):
66+
print('Fizz')
67+
elif(i%5==0):
68+
print('Buzz')
69+
else:
70+
print(i)
71+
counter += 1
72+
return print(f"cantidad de numeros: {counter}")
73+
74+
print_numbers(1, 101)
75+
Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
mi_lista = [1, 2, 3, 4, 5]
2+
mi_tupla = (1, 2, 3, 4, 5)
3+
mi_diccionario = {'a': 1, 'b': 2, 'c': 3}
4+
mi_conjunto = {1, 2, 3, 4, 5}
5+
mi_cadena = "Hola, mundo!"
6+
mi_entero = 42
7+
mi_flotante = 3.14
8+
mi_booleano = True
9+
10+
11+
"""
12+
13+
# PROGRAM EXERCISE
14+
15+
"""
16+
17+
contacts = {}
18+
contacts.update({'Nicolas': 96697572})
19+
contacts.update({'Nicole': 2312312312})
20+
contacts.update({'Francisca': 112223334})
21+
22+
def check_input(celular):
23+
if isinstance(celular, str) and len(str(celular)) <= 11:
24+
return True
25+
else:
26+
return False
27+
28+
def search_contact():
29+
entry = input("\n Escribe el nombre del contacto o ALL para ver todos los contactos => ")
30+
if entry == 'all' or entry == 'ALL':
31+
for name, celular in contacts.items():
32+
print ("\nNombre: ", name)
33+
print ("Celular: ", celular)
34+
elif entry.lower() in (key.lower() for key in contacts):
35+
entry = entry[0].upper() + entry[1:]
36+
print ("\nNombre: " , entry)
37+
print ("Celular: " , contacts.get(entry))
38+
else:
39+
print ("\n!!!!!!!!!!!No se ha podido encontrar el contacto!!!!!!!!!!!")
40+
41+
def insert_contact():
42+
nombre = input("Nombre: ")
43+
if nombre.lower() in (key.lower() for key in contacts):
44+
print ("\nEl contacto " , nombre , " ya existe")
45+
else:
46+
celular = input("Celular: ")
47+
if(check_input(celular) == True):
48+
contacts.update({nombre: celular})
49+
print("\nCONTACTO ANIADIDO SATISFACTORIAMENTE OK!\n")
50+
else:
51+
print ("\nEl número de teléfono no es válido - ingrese solo numeros (11 max)")
52+
53+
def delete_contact():
54+
entry = input("\n Escribe el nombre del contacto que quiere eliminar => ")
55+
if entry.lower() not in (key.lower() for key in contacts):
56+
print ("\nEl contacto " , entry , " no existe")
57+
else:
58+
key_correct_case = next(key for key in contacts if key.lower() == entry.lower())
59+
contacts.pop(key_correct_case)
60+
print("\nCONTACTO ELIMINADO SATISFACTORIAMENTE OK!\n")
61+
62+
def update_contact():
63+
entry = input("\n Escribe el nombre del contacto que quieres actualizar => ")
64+
entry_lower = entry.lower()
65+
if entry_lower in (key.lower() for key in contacts):
66+
celular = input("Celular: ")
67+
if(check_input(celular) == True):
68+
key_correct_case = next(key for key in contacts if key.lower() == entry_lower)
69+
contacts[key_correct_case] = celular
70+
print("\nCONTACTO ACTUALIZADO SATISFACTORIAMENTE OK!\n")
71+
else:
72+
print ("\nEl número de teléfono no es válido - ingrese solo numeros (11 max)")
73+
else:
74+
print ("\n!!!!!!!!!!!No se ha podido encontrar el contacto!!!!!!!!!!!")
75+
76+
def sort_contacts():
77+
return sorted(contacts.items())
78+
79+
print("------------- Agenda de contactos -------------")
80+
def contactos():
81+
end_pogram = True
82+
while end_pogram == True:
83+
84+
print("\nQue operacion desea realizar?")
85+
option = input("Crear (C), Borrar (B) , Actualizar (A), Buscar (S), Ordenar (O) => ")
86+
if option == "C" or option == "c":
87+
insert_contact()
88+
elif option == "B" or option == "b":
89+
delete_contact()
90+
elif option == "A" or option == "a":
91+
update_contact()
92+
elif option == "S" or option == "s":
93+
search_contact()
94+
elif option == "O" or option == "o":
95+
print("\nContactos: ", sort_contacts())
96+
97+
finish = input("\nDesea finalizar el programa? Yes(Y) No(N): ")
98+
if finish == "Y" or finish == "y":
99+
end_pogram = False
100+
break
101+
elif finish == "N" or finish == "n":
102+
end_pogram = True
103+
else:
104+
print("\n!!!!!!!!!!!Por favor ingrese una opcion valida!!!!!!!!!!!")
105+
106+
contactos()

0 commit comments

Comments
 (0)