Costo llamadas internacionales
El costo de las llamadas telefónicas internacionales depende de la zona geográfica en la que se encuentra el país de destino y del número de minutos que se hablaron. Además, las llamadas que se inician en horario nocturno tienen un descuento del \(20\%\).
Código de zona | Zona | Precio por minuto |
---|---|---|
\(12\) | América del Norte | \(2\) |
\(15\) | América Central | \(2.2\) |
\(18\) | América del Sur | \(4.5\) |
\(19\) | Europa | \(3.5\) |
\(23\) | Asia | \(6\) |
\(25\) | África | \(6\) |
\(29\) | Oceanía | \(5\) |
Escriba un programa que lea como entrada la zona de una llamada, el horario (día o noche) y la cantidad de minutos, e indique el costo total de la llamada. Debe validarse que la zona, el horario y la cantidad de minutos sean válidos. De lo contrario, termina con error.
Solución
# Entrada de código de zona
zona = int(input('Código de zona: '))
# Verificación de zona
if zona == 12:
costo_minuto = 2
elif zona == 15:
costo_minuto = 2.2
elif zona == 18:
costo_minuto = 4.5
elif zona == 19:
costo_minuto = 3.5
elif zona == 23:
costo_minuto = 6
elif zona == 25:
costo_minuto = 6
elif zona == 29:
costo_minuto = 5
else:
print('Zona inválida')
costo_minuto = 0
# Si hay minutos para cobrar
if costo_minuto > 0:
# Entrada de horario
horario = input('Horario de la llamada (dia/noche): ')
if horario != 'dia' and horario != 'noche': # Verificación de horario
print('Horario inválido')
else:
# Entrada de cantidad de minutos
minutos = int(input('Cantidad de minutos: '))
if minutos <= 0:
print('Minutos debe ser positivo')
else:
total = minutos * costo_minuto
if horario == 'noche': # Aplicación del descuento
total = total * 0.8
print('Costo total:', total)