On Fri, 20 Nov 2015 15:15:42 -0500, Terry Reedy wrote: > On 11/20/2015 12:22 PM, Dylan Riley wrote: >> This is my fortune cookie program i wrote in python. >> the problem is it will not run past the first line of input. >> could someone please identify the error and explain to me why. >> here is the code: >> >> #the program silulates a fortune cookie #the program should display one >> of five unique fortunes, at randon, each time its run >> >> import random >> >> print(" \\ \\ \\ \\ DYLANS FORTUNE COOKIE \\ \\ \\ ") >> print("\n\n\tGood things come to those who wait") >> input("\nPress enter to see your fortune") >> >> fortune = random.randrange(6) + 1 print(fortune) >> if fortune == 1: >> print("happy") >> elif fortune == 2: >> print("horny") >> elif fortune == 3: >> print("messy") >> elif fortune == 4: >> print("sad") >> elif fortune == 5: >> print("lool") > > Use a dict instead of if-elif. > > i = random.randrange(6) > fortunes = {0:'happy', 1:'horny', 2:'messy', > 3:'sad', 4:'lool', 5:'buggy'} > print(i, fortunes[i]) >
Or a list/tuple, which saves in typing, memory, and access time. fortunes = ('happy', 'horny', 'messy', 'sad', 'lool', 'buggy') i = random.randrange(len(fortunes)) print(i, fortunes[i]) Or to be lazier still, just use random.choice fortunes = ('happy', 'horny', 'messy', 'sad', 'lool', 'buggy') print(random.choice(fortunes)) None of which actually addresses the OP's issue with input(), but it's nice to get the back half clean as well. -- Rob Gaddi, Highland Technology -- www.highlandtechnology.com Email address domain is currently out of order. See above to fix. -- https://mail.python.org/mailman/listinfo/python-list