Suma de resultados.
Publicado por Jorge Alberto (50 intervenciones) el 15/12/2020 00:02:24
Hola. ¿Cómo andan? Estoy con un problema en un ejercicio en el que hay que sumar resultados. Como viene de otros anteriores, es mejor si resumo todo lo que hay que hacer en vez de copiar todos los textos.
El ejercicio pide calcular el costo de las llamadas realizadas por un teléfono, las cuales se dividen en cortas y largas. El precio difiere según el tipo de llamada. El usuario deberá ingresar el precio por segundo de ambos tipos de llamadas, la duración máxima de una llamada corta y la duración de cada llamada hecha, dadas en horas, minutos y segundos.
Lo que yo hice fue lo siguiente:
Para una sola llamada sale perfecto, pero cuando intento con más de una, solamente me da el resultado de la primera. Es decir, no puedo ni especificar la duración de las otras llamadas, ni sumar el importe total (lógico, ya que no puedo ingresar la segunda llamada). Como comentario adicional, los prints ("Duración: ", dl, ... ) no me aparecen cuando corro el programa. Me da la sensación que el programa termina después de x = 1 y no sé cómo solucionarlo.
Muchas gracias.
El ejercicio pide calcular el costo de las llamadas realizadas por un teléfono, las cuales se dividen en cortas y largas. El precio difiere según el tipo de llamada. El usuario deberá ingresar el precio por segundo de ambos tipos de llamadas, la duración máxima de una llamada corta y la duración de cada llamada hecha, dadas en horas, minutos y segundos.
Lo que yo hice fue lo siguiente:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
def main():
# El usuario ingresará el tiempo de duración máxima de una llamada corta, el precio de la misma y el de una llamada larga,
# más el tiempo de duración de la llamada (dado en horas, minutos y segundos)
# El resultado final será el precio de todas las llamadas sumadas.
pc = float(input("Ingrese el precio de una llamada corta: "))
print("El precio de una llamada corta es $",pc, "por segundo")
pl = float(input("Ingrese el precio de una llamada larga: "))
print("El precio de una llamada larga es $",pl, "por segundo")
print("Por favor, ingres el tiempo máximo de una llamada corta:")
hm = int(input("Horas: "))
mm = int(input("Minutos: "))
sm = int(input("Segundos: "))
dm = 3600*hm+60*mm+sm
n = int(input("Ingrese la cantidad de llamadas realizadas: "))
print("Por favor, ingrese la duración de cada llamada: ")
for x in range(1,n+1):
h = int(input("Horas: "))
m = int(input("Minutos: "))
s = int(input("Segundos: "))
dl = 3600*h + 60*m + s
print(dl)
if dl<=dm:
return dl*pc
else:
return dl*pl
print("Duración: ",dl, "Costo: ",dl*pc)
print("Duración: ",dl, "Costo: ",dl*pl)
costo_total = 0
costo_total = costo_total + dl*pc
print(costo_total)
main()
Para una sola llamada sale perfecto, pero cuando intento con más de una, solamente me da el resultado de la primera. Es decir, no puedo ni especificar la duración de las otras llamadas, ni sumar el importe total (lógico, ya que no puedo ingresar la segunda llamada). Como comentario adicional, los prints ("Duración: ", dl, ... ) no me aparecen cuando corro el programa. Me da la sensación que el programa termina después de x = 1 y no sé cómo solucionarlo.
Muchas gracias.
Valora esta pregunta


0