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!

Asked By: Halford88

||

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()
Answered By: Kevin
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.