store = input('Name of store: ')
food = input('Type of food served: ')
serverName = 'Will'
drinkPrice = '' #If it's a price (number why not set it to an integer example : drinkPrice = 0. '' refers to an empty string.
foodPrice = ''
drink = input('Hello! My name is {0} and I will be your server today! What can I get you to drink?: '.format(serverName))
if drink == "Water":
drinkPrice = 1
else : # in python if-else are written as elif <condition>: so it would be elif drink == "Coke":
if drink == "Coke":
drinkPrice = 2
else : # will never reach here
if drink == "Beer":
drinkPrice = 5
else : #will never reach here
print("The item you are trying to order is not on the menu!")
drink = input("What else would you like to drink?:") # you aren't looping here so you might want a loop.
food = input('What will you be ordering tonight?: ')
if food == "Steak":
foodPrice = 25
else : #same issue as the drink.
if food == "Pizza":
foodPrice = 10
else :
if food == "Salad":
foodPrice = 5
else :
print("The item that you are trying to order is not on the menu!")
totalPrice = str(drinkPrice) + str(foodPrice) #Python allows '+' to be used on strings as a form of concatination (combining strings).
#You want int(drinkPrice) + int(foodPrice) or just do drinkPrice + foodPrice
#since you set those value to 1, 2, 5, etc..
print('Thanks for eating at {0} and ordering {1} ! Server name: {2} Price total: {3}'.format(store, food, serverName, totalPrice))
To sum up my comment points:
If statements are written as follow:
if <condition>:
#do something
elif <condition>:
#do something
else:
#default if the top two didn't pass
You need to read up on loops but I think the one you might want is while
loops:
while <condition>:
#loops until the condition is False
The point of while loop is so you can keep asking until you get a valid answer you want. See this link for more details
Python allows +
to be used on non number objects such as string:
x = "5"
y = "6"
print(x+y)
>> 56
You have to make sure your variables are numbers:
x = 5
y = 6
print(x+y)
>> 11
"5" is not the same as 5, the first is a string representation of 5, the latter is the numeric value 5. This extends to "" is an empty string not 0.
Your code doesn't work so you shouldn't be worrying about micro optimization.
This is what your code should look like:
store = input('Name of store: ')
food = input('Type of food served: ')
serverName = 'Will'
drinkPrice = 0
foodPrice = 0
drink = input('Hello! My name is {0} and I will be your server today! What can I get you to drink?: '.format(serverName))
while drinkPrice == 0:
if drink == "Water":
drinkPrice = 1
elif drink == "Coke":
drinkPrice = 2
elif drink == "Beer":
drinkPrice = 5
else :
print("The item you are trying to order is not on the menu!")
drink = input("What else would you like to drink?:")
food = input('What will you be ordering tonight?: ')
while foodPrice == 0:
if food == "Steak":
foodPrice = 25
elif food == "Pizza":
foodPrice = 10
elif food == "Salad":
foodPrice = 5
else :
print("The item that you are trying to order is not on the menu!")
food = input("What else would you like to eat?:")
totalPrice = drinkPrice + foodPrice
print('Thanks for eating at {0} and ordering {1} ! Server name: {2} Price total: {3}'.format(store, food, serverName, totalPrice))