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

Reply via email to