Python 3:random.choice command with if statments
Question:
I’m very new to python/programing, and, i’ve been playing with a small random choice generator. I’m really happy with how everything is working so far, but I’m having a problem with the if statement. how do I go about signaling that the if should point to the first generated choice from table Desert, and not generate a second choice? I’ve tried nesting the if statement in the print command, but got a lot of syntax errors. Here is the code:
import random
import sys
Name = ['Dave', 'Suzane', 'Jim', 'Diana']
Appitizers = ['Spinach & Artichoke Dip', 'Crispy Green Beans', 'Half Chicken Quesadila', 'None, for me, just the main course please']
MainCourse = ['Steak', 'Sea Food', 'Grilled Chicken', 'House Salad', 'Rib Sanwich', 'Soup of the Day']
Desert = ['Pie of the Day', 'Chocolate Moose', 'Cheeze Cake', "No Thanks, I'm Full!"]
Goodbye = ['Captian', 'Monsiure', 'Sir', 'Madame',]
Goodbye2 = ['Come back again!', 'See you soon', 'Thank you for stopping by', 'Thank you for choosing us!']
print("Hello ", random.choice(Name), "tonight you're meal will be:")
print("Appitizer:", random.choice(Appitizers))
print("Followed by Main Coure:", random.choice(MainCourse))
print("And finally Desert:", random.choice(Desert))
if random.choice(Desert)=="No Thanks, I'm Full!": print('Farwell!', random.choice(Goodbye1)), sys.exit()
print(random.choice(Goodbye2))
Thanks!
Answers:
Assign the result of random.choice(Desert)
to a variable, and use it in both places where it’s applicable. (and while you’re at it, change Goodbye1
to a variable that exists, such as Goodbye
)
x = random.choice(Desert)
print("And finally Desert:", x)
if x=="No Thanks, I'm Full!":
print('Farwell!', random.choice(Goodbye))
sys.exit()
I’m very new to python/programing, and, i’ve been playing with a small random choice generator. I’m really happy with how everything is working so far, but I’m having a problem with the if statement. how do I go about signaling that the if should point to the first generated choice from table Desert, and not generate a second choice? I’ve tried nesting the if statement in the print command, but got a lot of syntax errors. Here is the code:
import random
import sys
Name = ['Dave', 'Suzane', 'Jim', 'Diana']
Appitizers = ['Spinach & Artichoke Dip', 'Crispy Green Beans', 'Half Chicken Quesadila', 'None, for me, just the main course please']
MainCourse = ['Steak', 'Sea Food', 'Grilled Chicken', 'House Salad', 'Rib Sanwich', 'Soup of the Day']
Desert = ['Pie of the Day', 'Chocolate Moose', 'Cheeze Cake', "No Thanks, I'm Full!"]
Goodbye = ['Captian', 'Monsiure', 'Sir', 'Madame',]
Goodbye2 = ['Come back again!', 'See you soon', 'Thank you for stopping by', 'Thank you for choosing us!']
print("Hello ", random.choice(Name), "tonight you're meal will be:")
print("Appitizer:", random.choice(Appitizers))
print("Followed by Main Coure:", random.choice(MainCourse))
print("And finally Desert:", random.choice(Desert))
if random.choice(Desert)=="No Thanks, I'm Full!": print('Farwell!', random.choice(Goodbye1)), sys.exit()
print(random.choice(Goodbye2))
Thanks!
Assign the result of random.choice(Desert)
to a variable, and use it in both places where it’s applicable. (and while you’re at it, change Goodbye1
to a variable that exists, such as Goodbye
)
x = random.choice(Desert)
print("And finally Desert:", x)
if x=="No Thanks, I'm Full!":
print('Farwell!', random.choice(Goodbye))
sys.exit()