Build a Movie Ticket Booking Calculator - Step 13

Tell us what’s happening:

I’m working on the Movie Ticket Booking Calculator (Step 13) and I’m stuck. I added an if…else statement for the extra charges logic, and placed print(‘Extra charges:’, extra_charges) inside the else clause as instructed.

Your code so far

base_price = 15
age = 21
seat_type = 'Gold'
show_time = 'Evening'

if age > 17:
    print('User is eligible to book a ticket')

if age >= 21:
    print('User is eligible for Evening shows')
else:
    print('User is not eligible for Evening shows')

is_member = False
is_weekend = False

discount = 0
if is_member and age >= 21:
    discount = 3
    print('User qualifies for membership discount')
else:
    print('User does not qualify for membership discount')
print('Discount:', discount)

extra_charges = 0
if is_weekend or show_time=='Evening':
    extra_charges = 2
# User Editable Region
    print('Extra charges will be applied')
else:
    print('No extra charges will be applied')
print('Extra charges:', extra_charges)

# User Editable Region

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36 Edg/152.0.0.0

Challenge Information:

Build a Movie Ticket Booking Calculator - Step 13

GitHub Link: freeCodeCamp/curriculum/challenges/english/blocks/workshop-movie-ticket-booking-calculator/6958e2377cacbc46a7f7383a.md at main · freeCodeCamp/freeCodeCamp · GitHub

It looks like you have changed the starting code. Please reset this step and try again. Only make changes asked in the instructions to move forward.

Thank you for your reply.

I understand the message says I changed the starting code, so I tried to reset the step and redo it. I changed the condition back to exactly what you showed.

But unfortunately, it still doesn’t work. The tests still fail with the same errors.

I found the problem!

The issue was that I assigned a value to extra_charges inside the else block.

I mistakenly thought the variable needed to be reset inside the else clause. But the instructions only asked me to add a print statement inside the else block, not to reassign the variable.

Because the starting code already has extra_charges = 0 before the if statement, assigning it again inside else was unnecessary and broke the tests.

The fix: I removed extra_charges = 0 from inside the else block and kept only the print statement. Now the tests pass!

Thanks for the help!