Diario del Programador
Diario del Programador
Diario del Programador
El Código:
# Se actualiza el total de la
venta total_venta +=
valor_producto
# Se calcula el IVA
iva_total = total_venta * iva
El Código ejecutado:
2. Bucle for:
o Este bucle se repite 4 veces, permitiendo ingresar el valor
de 4 productos.
Validación de la entrada:
5. Mostrar resultados:
Calcular el IVA.
Para este ejemplo permítanme dividirlo en dos para que entiendan las
diferencias, ustedes no necesitan hacerlo así, es solo para que lo
entiendan mejor. En el último ejemplo vendría a ser el definitivo,
como el que ustedes entregarían en el módulo 2.
# Se define el IVA
iva = 0.16
# Se valida la
entrada if
valor_producto <= 0:
print("Error: El valor del producto debe ser un número
positivo.") continue
El código ejecutado:
1. Diccionario productos:
3. Detalle de productos:
# Se define el IVA
iva = 0.16
def registrar_producto():
"""Solicita al usuario el valor de un producto y lo valida."""
valor_producto = float(input("Ingrese el valor del producto: "))
if valor_producto <= 0:
print("Error: El valor del producto debe ser un número
positivo.") return None
return valor_producto
def calcular_total_venta(productos):
"""Calcula el total de la venta a partir de un diccionario de
productos."""
total_venta = 0
for valor in productos.values():
total_venta += valor
return total_venta
def calcular_iva(total_venta):
"""Calcula el IVA a partir del total de la venta."""
iva_total = total_venta * iva
return iva_total
def mostrar_detalle_productos(productos):
"""Muestra un detalle de los productos y sus valores."""
print("Detalle de productos:")
for producto, valor in
productos.items():
print(f"{producto}: {valor}")
# Programa principal
productos = {}
total_venta =
calcular_total_venta(productos) iva_total
= calcular_iva(total_venta)
total_final = calcular_total_final(total_venta, iva_total)
mostrar_detalle_productos(productos)
mostrar_resultados(total_venta, iva_total, total_final)
El código ejecutado:
1. Funciones:
mostrar_detalle_productos(productos): Muestra un
detalle de los productos y sus valores.
mostrar_resultados(total_venta, iva_total,
total_final): Muestra los resultados finales (total
venta, IVA y total final).
2. Modularización:
3. Reutilización:
# Se define el IVA
iva = 0.16
def registrar_producto():
"""Solicita al usuario el valor de un producto y lo valida."""
valor_producto = float(input("Ingrese el valor del producto: "))
if valor_producto <= 0:
print("Error: El valor del producto debe ser un número
positivo.") return None
return valor_producto
def calcular_total_venta(productos):
"""Calcula el total de la venta a partir de un diccionario de
productos."""
total_venta = 0
for valor in productos.values():
total_venta += valor
return total_venta
def calcular_iva(total_venta):
"""Calcula el IVA a partir del total de la venta."""
iva_total = total_venta * iva
return iva_total
def aplicar_descuento(total_venta):
"""Solicita al usuario el porcentaje de descuento y lo aplica al
total de la venta."""
while True:
try:
porcentaje_descuento = float(input("Ingrese el porcentaje de
descuento (0-100%): "))
if 0 <= porcentaje_descuento <=
100: break
else:
print("Error: El porcentaje de descuento debe estar entre 0
y
100%.")
except ValueError:
descuento = total_venta * (porcentaje_descuento / 100)
return descuento
def mostrar_detalle_productos(productos):
"""Muestra un detalle de los productos y sus
valores.""" print("Detalle de productos:")
for producto, valor in
productos.items():
print(f"{producto}: {valor}")
# Programa
principal
productos = {}
total_venta = calcular_total_venta(productos)
iva_total = calcular_iva(total_venta)
descuento = aplicar_descuento(total_venta)
El código ejecutado:
Nuevas funcionalidades:
Descuento:
Estructuras de control:
Calcular el IVA.
El Código:
import random
# Se define el IVA
iva = 0.16
def registrar_producto():
"""Solicita al usuario el valor de un producto y lo
valida.""" try:
valor_producto = float(input("Ingrese el valor del
producto: ")) if valor_producto <= 0:
raise ValueError("El valor del producto debe ser un número
positivo.")
return valor_producto
except ValueError as
error:
print(f"Error: {error}")
return None
def calcular_total_venta(productos):
"""Calcula el total de la venta a partir de un generador de
productos."""
total_venta = 0
for valor in productos:
total_venta += valor
return total_venta
def calcular_iva(total_venta):
"""Calcula el IVA a partir del total de la venta."""
iva_total = total_venta * iva
return iva_total
def aplicar_descuento(total_venta):
"""Solicita al usuario el porcentaje de descuento y lo
valida.""" while True:
try:
porcentaje_descuento = float(input("Ingrese el porcentaje
de descuento (0-100%): "))
if 0 <= porcentaje_descuento <= 100:
break
else:
print("Error: El porcentaje de descuento debe estar entre 0 y
100%.")
except ValueError:
print("Error: Debe ingresar un número válido.")
def mostrar_detalle_productos(productos):
"""Muestra un detalle de los productos y sus valores."""
print("Detalle de productos:")
for producto, valor in
productos.items():
print(f"{producto}: {valor}")
# Programa principal
productos = {}
# Generador de productos
aleatorios def
generar_productos():
for _ in range(random.randint(3,
5)): valor_producto =
registrar_producto() if
valor_producto is not None:
yield valor_producto
productos_generador =
generar_productos()
total_venta = calcular_total_venta(productos_generador)
iva_total = calcular_iva(total_venta)
descuento = aplicar_descuento(total_venta)
total_final = calcular_total_final(total_venta, iva_total,
El Código ejecutado:
Generador de productos:
Manejo de excepciones: