Part of the series

Several example codes

~2 min read · Updated Oct 11, 2025

Program Overview

This Python program processes call data for multiple subscribers.
For each subscriber, it receives the start time of the call (0–23), the number of calls made, and the duration of each call.
It calculates the gross cost, tax amount, and total payable amount.
If the start time is 0, it is displayed as 99 instead.


Assumptions:

  • Rate per minute: 46 Rials
  • Tax rate: 9%

Python Code:


def process_subscriber(start_hour, call_durations):
    rate_per_minute = 46
    tax_rate = 0.09

    total_minutes = sum(call_durations)
    gross_cost = total_minutes * rate_per_minute
    tax_amount = gross_cost * tax_rate
    total_cost = gross_cost + tax_amount

    display_hour = 99 if start_hour == 0 else start_hour

    print(f"Start Hour: {display_hour}")
    print(f"Total Minutes: {total_minutes}")
    print(f"Gross Cost: {gross_cost:.2f} Rials")
    print(f"Tax Amount: {tax_amount:.2f} Rials")
    print(f"Total Cost: {total_cost:.2f} Rials")
    print("-" * 40)

# Run the program for multiple subscribers
num_subscribers = int(input("Enter number of subscribers: "))

for i in range(num_subscribers):
    print(f"\nSubscriber {i+1}")
    start_hour = int(input("Enter start hour (0–23): "))
    num_calls = int(input("Enter number of calls: "))
    call_durations = []

    for j in range(num_calls):
        duration = int(input(f"Enter duration of call {j+1} (minutes): "))
        call_durations.append(duration)

    process_subscriber(start_hour, call_durations)

Sample Output (1 subscriber, start hour 0, 2 calls of 10 and 15 minutes):


Start Hour: 99
Total Minutes: 25
Gross Cost: 1150.00 Rials
Tax Amount: 103.50 Rials
Total Cost: 1253.50 Rials
----------------------------------------

Step-by-Step Explanation:

- The program loops through each subscriber
- For each, it reads the start hour, number of calls, and durations
- It calculates the total minutes, gross cost, tax, and total payable
- If the start hour is 0, it is displayed as 99
- The output includes all computed values in a clean format


Written & researched by Dr. Shahin Siami

Related Articles

Complete Guide to Python Decorators – Enhancing Function Behavior with Reusable Logic

Decorators in Python are a powerful tool for modifying or extending the behavior of functions and classes without changing their original code. They allow developers to implement reusable logic such as logging, authentication, caching, or timing in a clean and maintainable way. This article explores the structure, definition, common use cases, and practical examples of decorators in Python.

Continue

Comprehensive Guide to Python Classes – Object-Oriented Design, Structure, Inheritance, and Practical Use

Classes in Python are the foundation of object-oriented programming, allowing developers to define complex data structures, encapsulate logic, and create scalable, maintainable systems. This article walks through the fundamentals of defining classes, constructors, methods, inheritance, encapsulation, and real-world applications in Python projects.

Continue

Several example codes

understand the Python programming language

Continue

Complete Guide to Getting Text Input from Users in Python

In Python, accepting input from users is one of the simplest yet most powerful features for interactive programming. This article explores the input() function in depth, explains how to cast types, validate user data, and use input within loops and conditions. Real-life examples help clarify each concept, making this guide perfect for beginners and intermediate learners.

Continue

Comprehensive Guide to Functions in Python: Structure, Types, and Use Cases

Functions in Python are essential building blocks for writing modular, reusable, and maintainable code. This article introduces function definitions, distinguishes between built-in and user-defined functions, explores parameters and return values, and presents advanced topics such as recursion and lambda expressions. Whether you're a beginner or brushing up for interviews, this guide offers a clear and accessible foundation.

Continue

Loops, Iterators, and Repetition Control in Python

Loops, Iterators, and Repetition Control in Python

Continue