Skip to content

Commit 893847f

Browse files
authored
Merge pull request #8916 from Josandgon12/solucion01
Solucion 01
2 parents e26e581 + 7b1c1e1 commit 893847f

File tree

1 file changed

+193
-0
lines changed

1 file changed

+193
-0
lines changed
Lines changed: 193 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,193 @@
1+
"""
2+
EJERCICIO: Operadores y Estructuras de Control en Python
3+
"""
4+
5+
print("=" * 60)
6+
print("OPERADORES EN PYTHON")
7+
print("=" * 60)
8+
9+
# 1. OPERADORES ARITMÉTICOS
10+
print("\n--- OPERADORES ARITMÉTICOS ---")
11+
a = 15
12+
b = 4
13+
print(f"a = {a}, b = {b}")
14+
print(f"Suma (a + b): {a + b}")
15+
print(f"Resta (a - b): {a - b}")
16+
print(f"División (a / b): {a / b}")
17+
print(f"División entera (a // b): {a // b}")
18+
print(f"Módulo (a % b): {a % b}")
19+
print(f"Potencia (a ** b): {a ** b}")
20+
21+
# 2. OPERADORES DE COMPARACIÓN
22+
print("\n--- OPERADORES DE COMPARACIÓN ---")
23+
x = 10
24+
y = 20
25+
print(f"x = {x}, y = {y}")
26+
print(f"Igual (x == y): {x == y}")
27+
print(f"Diferente (x != y): {x != y}")
28+
print(f"Mayor que (x > y): {x > y}")
29+
print(f"Menor que (x < y): {x < y}")
30+
print(f"Mayor o igual (x >= y): {x >= y}")
31+
print(f"Menor o igual (x <= y): {x <= y}")
32+
33+
# 3. OPERADORES LÓGICOS
34+
print("\n--- OPERADORES LÓGICOS ---")
35+
verdadero = True
36+
falso = False
37+
print(f"verdadero = {verdadero}, falso = {falso}")
38+
print(f"AND (verdadero and falso): {verdadero and falso}")
39+
print(f"OR (verdadero or falso): {verdadero or falso}")
40+
print(f"NOT (not verdadero): {not verdadero}")
41+
42+
# 4. OPERADORES DE ASIGNACIÓN
43+
print("\n--- OPERADORES DE ASIGNACIÓN ---")
44+
numero = 10
45+
print(f"Asignación inicial: numero = {numero}")
46+
numero += 5
47+
print(f"Suma y asignación (+=): {numero}")
48+
numero -= 3
49+
print(f"Resta y asignación (-=): {numero}")
50+
numero *= 2
51+
print(f"Multiplicación y asignación (*=): {numero}")
52+
numero //= 3
53+
print(f"División entera y asignación (//=): {numero}")
54+
numero %= 5
55+
print(f"Módulo y asignación (%=): {numero}")
56+
numero **= 2
57+
print(f"Potencia y asignación (**=): {numero}")
58+
59+
# 5. OPERADORES DE IDENTIDAD
60+
print("\n--- OPERADORES DE IDENTIDAD ---")
61+
lista1 = [1, 2, 3]
62+
lista2 = [1, 2, 3]
63+
lista3 = lista1
64+
print(f"lista1: {lista1} (id: {id(lista1)})")
65+
print(f"lista2: {lista2} (id: {id(lista2)})")
66+
print(f"lista3: {lista3} (id: {id(lista3)})")
67+
print(f"lista1 is lista2: {lista1 is lista2}")
68+
print(f"lista1 is lista3: {lista1 is lista3}")
69+
print(f"lista1 is not lista2: {lista1 is not lista2}")
70+
71+
# 6. OPERADORES DE PERTENENCIA
72+
print("\n--- OPERADORES DE PERTENENCIA ---")
73+
frutas = ["manzana", "pera", "naranja"]
74+
print(f"Lista de frutas: {frutas}")
75+
print(f"'manzana' in frutas: {'manzana' in frutas}")
76+
print(f"'uva' in frutas: {'uva' in frutas}")
77+
print(f"'uva' not in frutas: {'uva' not in frutas}")
78+
79+
# 7. OPERADORES DE BITS
80+
print("\n--- OPERADORES DE BITS ---")
81+
num1 = 10 # 1010 en binario
82+
num2 = 4 # 0100 en binario
83+
print(f"num1 = {num1} ({bin(num1)}), num2 = {num2} ({bin(num2)})")
84+
print(f"AND bit a bit (num1 & num2): {num1 & num2} ({bin(num1 & num2)})")
85+
print(f"OR bit a bit (num1 | num2): {num1 | num2} ({bin(num1 | num2)})")
86+
print(f"XOR bit a bit (num1 ^ num2): {num1 ^ num2} ({bin(num1 ^ num2)})")
87+
print(f"NOT bit a bit (~num1): {~num1} ({bin(~num1)})")
88+
print(f"Desplazamiento izquierda (num1 << 2): {num1 << 2} ({bin(num1 << 2)})")
89+
print(f"Desplazamiento derecha (num1 >> 2): {num1 >> 2} ({bin(num1 >> 2)})")
90+
91+
print("\n" + "=" * 60)
92+
print("ESTRUCTURAS DE CONTROL")
93+
print("=" * 60)
94+
95+
# 1. CONDICIONALES (if, elif, else)
96+
print("\n--- CONDICIONALES ---")
97+
edad = 25
98+
print(f"Edad: {edad}")
99+
if edad < 18:
100+
print("Eres menor de edad")
101+
elif edad < 65:
102+
print("Eres adulto")
103+
else:
104+
print("Eres adulto mayor")
105+
106+
# Operador ternario
107+
mensaje = "Par" if edad % 2 == 0 else "Impar"
108+
print(f"La edad es: {mensaje}")
109+
110+
# 2. BUCLE FOR
111+
print("\n--- BUCLE FOR ---")
112+
print("Números del 1 al 5:")
113+
for i in range(1, 6):
114+
print(f" {i}")
115+
116+
print("Iterando sobre una lista:")
117+
colores = ["rojo", "verde", "azul"]
118+
for color in colores:
119+
print(f"Color: {color}")
120+
121+
# 3. BUCLE WHILE
122+
print("\n--- BUCLE WHILE ---")
123+
contador = 0
124+
print("Contando hasta 3:")
125+
while contador < 3:
126+
contador += 1
127+
print(f"Contador: {contador}")
128+
129+
# 4. BREAK Y CONTINUE
130+
print("\n--- BREAK Y CONTINUE ---")
131+
print("Usando break (detener en 5):")
132+
for i in range(1, 10):
133+
if i == 5:
134+
break
135+
print(f"{i}")
136+
137+
print("Usando continue (saltar números pares):")
138+
for i in range(1, 8):
139+
if i % 2 == 0:
140+
continue
141+
print(f"{i}")
142+
143+
# 5. MANEJO DE EXCEPCIONES
144+
print("\n--- MANEJO DE EXCEPCIONES ---")
145+
try:
146+
resultado = 10 / 0
147+
except ZeroDivisionError as e:
148+
print(f"Error capturado: {e}")
149+
except Exception as e:
150+
print(f"Otro error: {e}")
151+
else:
152+
print("No hubo errores")
153+
finally:
154+
print("Este bloque siempre se ejecuta")
155+
156+
157+
# 6. MATCH-CASE
158+
print("\n--- MATCH-CASE ---")
159+
dia = 3
160+
match dia:
161+
case 1:
162+
print("Lunes")
163+
case 2:
164+
print("Martes")
165+
case 3:
166+
print("Miércoles")
167+
case 4 | 5:
168+
print("Jueves o Viernes")
169+
case _:
170+
print("Fin de semana")
171+
172+
print("\n" + "=" * 60)
173+
print("\nNúmeros entre 10 y 55 (incluidos), pares, que NO son 16 ni múltiplos de 3:")
174+
print()
175+
176+
for numero in range(10, 56):
177+
# Debe ser par
178+
if numero % 2 != 0:
179+
continue
180+
181+
# No debe ser 16
182+
if numero == 16:
183+
continue
184+
185+
# No debe ser múltiplo de 3
186+
if numero % 3 == 0:
187+
continue
188+
189+
print(numero)
190+
191+
# for i in range(10,56):
192+
# if i % 2 == 0 and i != 16 and i % 3 != 0:
193+
# print(i)

0 commit comments

Comments
 (0)