+ 5

What's wrong with my code?

data = { "100-90": 25, "42-01": 48, "55-09": 12, "128-64": 71, "002-22": 18, "321-54": 19, "097-32": 33, "065-135": 64, "99-043": 80, "111-99": 11, "123-019": 5, "109-890": 72, "132-123": 27, "32-908": 27, "008-09": 25, "055-967": 35, "897-99": 44, "890-98": 56, "344-32": 65, "43-955": 59, "001-233": 9, "089-111": 15, "090-090": 17, "56-777": 23, "44-909": 27, "13-111": 21, "87-432": 15, "87-433": 14, "87-434": 23, "87-435": 11, "87-436": 12, "87-437": 16, "94-121": 15, "94-122": 35, "80-089": 10, "87-456": 8, "87-430": 40 } age = int(input()) #your code goes here x = 0 tx = 0 for value in data.values(): if age >= 18: x += 20 else: x += 5 for value in data.values(): if value >= age: tx += 20 else: tx += 5 rg = ((tx - x) / x) * 100 print(int(rg))

14th Jul 2021, 11:07 AM
Mpinele Mokoena
Mpinele Mokoena - avatar
3 Answers
+ 4
You are analyzing sales data from a ticket office. The ticket for an adult is $20, while the ticket for a child under 18 is $5. The data you are given is in a dictionary format, where the keys are the sold ticket numbers, and the values are the customer ages. For example, "123-08": 24 means that the ticket was bought a 24 year old. Your goal is to calculate how much more money the office would make if it would change the ticket discount age to the given input. So, your program needs to take an integer as input and output the percentage of revenue growth, if the discount was given to people under that age.
14th Jul 2021, 12:43 PM
Mpinele Mokoena
Mpinele Mokoena - avatar
+ 3
What exactly is your code supposed to do?
14th Jul 2021, 11:39 AM
Solo
Solo - avatar
+ 2
Your 1st loop always executes either if or else. same times.. Check your condition again.. is it not correct to use if value >=18 : ? instead of age>=18 hope it helps..
14th Jul 2021, 12:53 PM
Jayakrishna 🇼🇳