+ 1

problems getting new random choices

while I was trying to make a fun magic 8 ball program this evening everything was working out fine, however, I want the program to make a different random choice every time there is a new user input how can I do that without having to restart it every time I want to ask it a new question I tried both random,choice and random.sample and I tried containing it within a while loop (although I'm not sure if I did that right), any suggestion would be great. https://code.sololearn.com/cIM1z31exL85

20th Mar 2018, 6:53 AM
Gabe Chacon
Gabe Chacon - avatar
4 Answers
+ 3
import random def magic_eight(): my_list = ["It is certain", "It is decidedly so", "Without a doubt", "Yes definitely", "You may rely on it", "As I see it...yes", "Most likely", "Outlook good", "Yes", "Signs point to yes", "Reply hazy try again", "Ask again later", "Better not tell you now", "Cannot predict now", "Concentrate and ask again", "Dont count on it", "My reply is no", "My sources say no", "Outlook not so good", "Very doubtful"] while True: print (""" Magic 8 Ball! Ask any question you desire! (yes or no only) """) user_input = input(": ") if user_input == "q": break else: value = random.choice(my_list) print(value) magic_eight()
20th Mar 2018, 7:33 AM
ChaoticDawg
ChaoticDawg - avatar
+ 2
shuffle the list at the beginning once then output first, second, third... element when you output last element, shuffle the list again (then the answers must repeat, because there is only a finite number of them)
20th Mar 2018, 7:06 AM
michal
+ 2
thanks that makes a ton of sense, I'm new to all this so that helps a lot!
20th Mar 2018, 2:10 PM
Gabe Chacon
Gabe Chacon - avatar
0
yeah, put value inside the whole loop
20th Mar 2018, 7:42 AM
Amaras A
Amaras A - avatar