How to decrease input - Printable Version +- Python Forum (https://python-forum.io) +-- Forum: Python Coding (https://python-forum.io/forum-7.html) +--- Forum: General Coding Help (https://python-forum.io/forum-8.html) +--- Thread: How to decrease input (/thread-33305.html) |
How to decrease input - Yankees1111 - Apr-14-2021 I'm very new to coding so my apologies if I'm saying any of this wrong. I am trying to write a code for this prompt: A company has 3 divisions. After inputing the sales for each division across 4 quarters, I want to print the average sales for each division. Below is the code: divisions = 3 while divisions > 0: total = 0 quarters = 4 while quarters > 0: sales = float(input("Enter sales: ")) total += sales quarters -= 1 average = total / 4 divisions -= 1 print("The average for division", divisions + 1, "is $", format(average, '.2f'))Here is my problem. When I run the code, it prompts me to "Enter sales". And then after I do it four times, it tells me the average. How can I write this code so that it will ask me to enter the sales for Division 1 Quarter 1, Division 1 Quarter 2, Division 2 Quarter 2 etc. and then it will print "The average sales for Division 1 were...", "The average sales for Division 2 were..." THANK YOU RE: How to decrease input - ibreeden - Apr-14-2021 Please read BBCode to learn how to publish Python code, output, error messages. The answer to your question: sales = float(input(f"Enter sales for division {divisions} in quarter {quarters}: ")) RE: How to decrease input - BashBedlam - Apr-14-2021 This is how I would accomplish that goal: overall_sales = [[0, 0]] def average (sales_list: list) -> float : return sum (sales_list) / len (sales_list) def input_quartly_sales (divition_number: int) -> list : quarterly_sales = [] for quarter_number in range (1, 5) : prompt = f'Enter sales for division {division_number} for the' prompt += f' quarter number {quarter_number} : ' quarterly_sales.append (float (input (prompt))) return quarterly_sales for division_number in range (1, 4) : print (f'\nSales for division {division_number}.') overall_sales.append (input_quartly_sales (division_number)) print () for division_number in range (1, 4) : print (f'The average sales for division {division_number}', end = '') print (f' is ${average (overall_sales [division_number]):,.2f}') |