我正在搞乱这个基本的Magic 8 Ball计划,并且我试图让它只允许是或否问题我认为除了有第一个单词“will”或“do”的问题我怎么能制作一个只允许那些单词?
这是脚本:
import random
import time
print "Welcome to Magic Eight Ball !"
while True:
def Magic8(a):
foo = ['Yes', 'No', 'Maybe', 'Doubtful', 'Try Again']
from random import choice
print choice(foo)
a = raw_input("Question: ")
if a == "exit":
exit()
#If Stament here
print "Determining Your Future..."
time.sleep(2)
Magic8(a)
答案 0 :(得分:4)
if a.split(None, 1)[0].lower() in {'will', 'do'}:
print "Determining Your Future..."
time.sleep(2)
magic8(a) # function names are usually not capitalized
str.split()
在空格上分割句子,str.lower
应该处理大写。
答案 1 :(得分:2)
您可以使用str.startswith
并传递一组已接受的字词。
if a.lower().startswith(("will ", "do ")):
# Do your magic.
答案 2 :(得分:1)
也许如果你的话很少,你可以使用elif或
if a=="exit":
exit()
elif a=="optionOne":
doSomething
else:
print "word not alowed"
或者你可以这样做
if a=="exit" or a=="notAllowedWord":
exit()