Python - Struct and Case Array
########################################################
#10 Ejemplos utilizando la sentencia case en Python.
#1. Convertir un número en su correspondiente día de la semana:
num = 3
day = {
1: "Lunes",
2: "Martes",
3: "Miércoles",
4: "Jueves",
5: "Viernes",
6: "Sábado",
7: "Domingo"
}.get(num, "Número inválido")
print(day)
#2. Asignar una letra a una calificación:
grade = 85
letter = {
range(90, 101): 'A',
range(80, 90): 'B',
range(70, 80): 'C',
range(60, 70): 'D',
range(0, 60): 'F'
}.get(next((r for r in letter.keys() if grade in r), None), "Calificación inválida")
print(letter)
#3. Realizar diferentes acciones según el valor de una variable:
option = "Guardar"
{
"Guardar": save_data,
"Cargar": load_data,
"Eliminar": delete_data
}.get(option, lambda: print("Opción inválida"))()
#4. Calcular el precio de un producto según su tipo:
product_type = "Ropa"
price = {
"Comida": lambda x: x * 1.13,
"Ropa": lambda x: x * 1.10,
"Electrónica": lambda x: x * 1.20
}.get(product_type, lambda x: x)(100)
print(price)
#5. Asignar un color a un número según su valor:
number = 7
color = {
1: "Rojo",
2: "Naranja",
3: "Amarillo",
4: "Verde",
5: "Azul",
6: "Morado"
}.get(number, "Gris")
print(color)
#6. Realizar diferentes operaciones según el tipo de dato de una variable:
data = ["Hola", 5, True]
result = []
for d in data:
r = {
str: lambda x: x.upper(),
int: lambda x: x * 2,
bool: lambda x: not x
}.get(type(d), lambda x: None)(d)
if r:
result.append(r)
print(result)
#7. Asignar una categoría a un número según su valor:
number = 25
category = {
range(0, 10): "Bajo",
range(10, 20): "Medio",
range(20, 30): "Alto"
}.get(next((r for r in category.keys() if number in r), None), "Fuera de rango")
print(category)
#8. Calcular el descuento en función del tipo de cliente:
customer_type = "VIP"
discount = {
"Normal": 0,
"Premium": 0.10,
"VIP": 0.20
}.get(customer_type, 0.30)
price = 100
total = price - price * discount
print(total)
#9. Asignar una acción a una tecla presionada:
key_pressed = 'a'
{
'a': lambda: print('Acción 1'),
'b': lambda: print('Acción 2'),
'c': lambda: print('Acción 3')
}.get(key_pressed, lambda: print('Tecla inválida'))()
#10. Calcular el impuesto de un producto según su categoría:
product_category = "Comida"
price = 100
tax = {
"Comida": 0.05,
"Ropa": 0.10,
"Electrónica": 0.20
}.get(product_category, 0)
total = price + price * tax
print(total)