This Python program calculates the cost of long-distance calls based on the time of day and whether the day is a holiday.
The pricing rules are defined as follows:
- Calls between 11 PM and 8 AM are charged at 50% of the standard rate
- Calls made on holidays (day 7 of the week) are charged at 75% of the standard rate
- All other calls are charged at the full rate
The standard rate is 46 Rials per minute.
def calculate_call_charge(minutes, hour, day_of_week):
rate_per_minute = 46
if 23 <= hour or hour < 8:
discount = 0.5
elif day_of_week == 7:
discount = 0.75
else:
discount = 1.0
total_cost = minutes * rate_per_minute * discount
return total_cost
# Run the program
minutes = int(input("Enter call duration in minutes: "))
hour = int(input("Enter hour of call (0–23): "))
day_of_week = int(input("Enter day of week (1–7, where 7 is holiday): "))
cost = calculate_call_charge(minutes, hour, day_of_week)
print(f"Total call cost: {cost:.2f} Rials")
Total call cost: 230.00 Rials
- The program reads the duration, hour, and day of the call
- It checks if the call was made during discounted hours (23–8) or on a holiday (day 7)
- Based on the condition, it applies the appropriate discount to the standard rate
- The final cost is calculated and displayed in Rials