Part of the series

Several example codes

~2 min read • Updated Oct 11, 2025

Program Overview

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.


Python Code:


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")

Sample Output (call at 2 AM, 10 minutes, weekday):


Total call cost: 230.00 Rials

Step-by-Step Explanation:

- 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


Written & researched by Dr. Shahin Siami