Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trialERDAL DINCER
1,635 PointsI repeated everything, however I couldnot reduce number of the tickets and could not raise an error
I repeated everything, however I couldnot reduce number of the tickets and could not raise an error if the requested tickets numbers are greater than remainings
Luke Tate
Courses Plus Student 2,256 PointsI have the same issue, but my code is slightly different. Here is my code bellow:
tickets_remaining = 100
while tickets_remaining >=1:
print("There are {} tickets remaining.".format(tickets_remaining))
name = input("What is your name? ")
num_tickets = input("How many tickets would you like, {}? ".format(name))
# Expect a ValueError to happen and handle it appropriately...remember to test it out!
try:
#raise ValueError:
num_tickets = int(num_tickets)
# Raise a ValueError if the request is for more tickets than are avaible
if num_tickets > tickets_remaining:
raise ValueError("There are only {} tickets remaining".format(tickets_remaining))
except ValueError as Err: # Include the error text in the output print("Oh no, we ran into an issue. {}. Please try again".format(Err)) else: amount_due = num_tickets * TICKET_PRICE print("The total due is ${}".format(amount_due)) should_proceed = input("Do you want to proceed? Y/N ") if should_proceed.lower() == "y": # TODO": Gather credit card information and process it. print("SOLD") tickets_remaining -= num_tickets else: print ("Thank you anyways, {}!".format(name)) print("Sorry the tickets are all sold out!!!")
3 Answers
KRIS NIKOLAISEN
54,971 PointsYou have a few issues:
1) Missing closing parenthesis here:
raise ValueError("there are only {} tickets remaining".format(tickets_remaining)
2) There should be a space between ValueError
and as
here:
except ValueErroras Err:
3) You should be comparing lowercase should_proceed
to lowercase "Y" here ("y" instead of "Y"):
if should_proceed.lower()=="Y":
ERDAL DINCER
1,635 PointsStill does not reduce number of remaining tickets
KRIS NIKOLAISEN
54,971 PointsHere is a snapshot of your code with those changes. Note: I also put a space between tickets_remaining
and -=
but tested with and without and it didn't matter. To run enter python a.py
in the console.
ERDAL DINCER
1,635 PointsERDAL DINCER
1,635 Pointsticket_price=100 tickets_remaining=100
Run this code continuosly until we run out of tickets
while tickets_remaining >=1: print("There are {} tickets remaining.".format(tickets_remaining))
print("Tickets are all sold out")