Build a Movie Ticket Booking Calculator - Step 16

Tell us what’s happening:

why is this considered correct :
if age >= 21 or age >= 18 and show_time != ‘Evening’:

when it says that users between the ages for 18 and 21 can book tickets if its not an Evening show ?

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
    print('Extra charges will be applied')
else:
    print('No extra charges will be applied')
print('Extra charges:', extra_charges)


# User Editable Region

if age >= 21 or age >= 18 and show_time != 'Evening':

# User Editable Region

    print('Ticket booking condition satisfied')
else:
    print('Ticket booking failed due to restrictions')

Your browser information:

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

Challenge Information:

Build a Movie Ticket Booking Calculator - Step 16

people younger than 21 can’t book for the evening show, the and has higher precedence, so it’s grouped like this
age >= 21 or ( age >= 18 and show_time != ‘Evening’ )

1 Like

so you think it should be? if age >= 18 and age <= 21 and show_time != 'Evening'

1 Like

Yes. That’s what i originally thought. At first that was what i was going for, after reading the first part line of text in the task

I am ok with this

I couldn’t really see the logic behind it. But I didn’t have in mind that several steps before we had this

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')

because i been doing this workshop during several days (only some few steps per session). I guess I really should have just read the second task paragraph better, code it literally word-by-word and also re-read the whole code once, to get the logic behind it.

Anyways, I think I am fine 90% fine with it. Maybe if i knew the whole flowchart i wouldn’t have messed up. Anyways, thanks a lot for your answers.

It’s great that you are reviewing all of the code to get a better understanding of what this challenge is about!