On Friday, November 20, 2015 at 11:06:05 PM UTC, Rob Gaddi wrote: > 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.
very nice i like the way you code. i managed to solve the problem it was because i wasnt using raw_input however i updated to python 3 so the original now works. many thanks anyway -- https://mail.python.org/mailman/listinfo/python-list