The local t-shirt shop sells shirts that retail for $14.99. Quantity discounts are given as follow: Number of Shirts Discount < 10 0% 11-20 10% 21-50 15% 51 or more 20% Write a program that prompts the user for the number of shirts required and then computes the total price. Make sure the program accepts only nonnegative input. You must use a constant to represent price of the shirt You must use the correct data types for your constants and variables You must validate your input. Do not allow negative number of shirts. This should display a warning You must use one or more if/else branches for your decisions You must also use a logical operator at least once to check the ranges. Your output should be formatted correctly Prices should have two decimal places Percents should have one decimal place
The local t-shirt shop sells shirts that retail for $14.99. Quantity discounts are given as follow:
Number of Shirts | Discount |
< 10 | 0% |
11-20 | 10% |
21-50 | 15% |
51 or more | 20% |
Write a program that prompts the user for the number of shirts required and then computes the total price. Make sure the program accepts only nonnegative input.
- You must use a constant to represent price of the shirt
- You must use the correct data types for your constants and variables
- You must validate your input.
- Do not allow negative number of shirts. This should display a warning
- You must use one or more if/else branches for your decisions
- You must also use a logical operator at least once to check the ranges.
- Your output should be formatted correctly
- Prices should have two decimal places
- Percents should have one decimal place

Algorithm: Calculate Total Price with Quantity Discounts for T-Shirts
Constants:
- SHIRT_PRICE = 14.99
- DISCOUNT_RANGES = [(0, 10, 0), (11, 20, 0.10), (21, 50, 0.15), (51, ∞, 0.20)]
Input:
- num_shirts (integer)
Output:
- discount_percent (float)
- total_price (float)
Procedure:
1. Display "Enter the number of shirts you want to purchase: ".
2. Read num_shirts from the user.
3. While True:
a. If num_shirts < 0:
i. Display "Please enter a non-negative number of shirts."
ii. Go back to step 1.
b. If num_shirts is not an integer:
i. Display "Invalid input. Please enter a non-negative integer."
ii. Go back to step 1.
c. Otherwise, break the loop.
4. total_price = SHIRT_PRICE * num_shirts
5. For each range (min_quantity, max_quantity, discount) in DISCOUNT_RANGES:
a. If min_quantity <= num_shirts <= max_quantity:
i. discount_percent = discount * 100
ii. total_price = total_price * (1 - discount)
iii. Break the loop.
6. If no discount range matched, set discount_percent to 0.
7. Display "Number of Shirts: num_shirts".
8. Display "Discount Applied: discount_percent with one decimal place%".
9. Display "Total Price: total_price with two decimal places".
Trending now
This is a popular solution!
Step by step
Solved in 4 steps with 7 images









