File size: 1,601 Bytes
6adef6a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
34
35
36
37
38
39
40
41
import gradio as gr

def calculate_selling_price(daily_circulation, annual_expenses, days_sold):
    try:
        # Calculate the selling price per copy
        selling_price = annual_expenses / (daily_circulation * days_sold)
        return f"₹{selling_price:.2f} per copy"
    except ZeroDivisionError:
        return "Invalid input: Daily circulation and days sold must be greater than zero."

def example_explanation():
    explanation = (
        "For example, if a newspaper prints 10 lakh copies daily, sells them for 360 days a year, "
        "and has annual expenses of ₹900 crores, the selling price per copy can be calculated as:\n\n"
        "Selling Price = Annual Expenses / (Daily Circulation × Days Sold)\n"
        "= ₹900,00,00,000 / (10,00,000 × 360)\n"
        "= ₹25 per copy"
    )
    return explanation

# Gradio interface
interface = gr.Interface(
    fn=calculate_selling_price,
    inputs=[
        gr.Number(label="Daily Circulation (e.g., 1000000 for 10 lakh copies)"),
        gr.Number(label="Annual Expenses (in ₹, e.g., 900000000 for ₹900 crores)"),
        gr.Number(label="Days Sold (e.g., 360)")
    ],
    outputs=gr.Textbox(label="Selling Price per Copy"),
    examples=[[1000000, 900000000, 360]],
    title="Newspaper Selling Price Calculator",
    description=(
        "This calculator helps determine the selling price per copy of a newspaper based on its "
        "daily circulation, annual expenses, and the number of days it is sold in a year.\n\n"
        + example_explanation()
    )
)

# Launch the Gradio interface
interface.launch()