2013-12-23 71 views
0

我目前正在研究一个python项目,我需要它接受来自用户的随机输入。如何使python接受随机输入

所以,如果我有,例如:

def question_one() : 
    answer_one = raw_input ('How many days are there in a week? ').lower() 
    try: 
     if answer_one == 'seven' or answer_one == '7' : 
      question_2() 

一切工作的奇迹。但如何才能让蟒蛇接受随机输入,如

def question_two() : 
    answer_two = raw_input ('What´s your mother´s name? ').lower() 
    try: 
     if answer_two == ***I have no idea how to code this part*** : 
      question_3() 

在这种情况下,我需要Python来接受任何输入,并且仍然将用户带到下一个问题。我怎么能这样做?

回答

3

如果输入不必是特定形式或具有某些特定属性,则不需要if语句,或者甚至不需要try

def question_two(): 
    answer_two = raw_input("What's your mother's name?").lower() 
    question_3() 
+2

非常感谢,认为没有的伎俩! –

4

然后只删除if子句。

+1

谢谢!是的,那是我的问题。 –

1

如果你想能够重新提出问题,如果他们没有得到它的权利,那么你可以像这样循环。这个问题唯一可以接受的答案是“是”或“是”等。 如果他们没有正确回答,它会再次询问他们,直到他们得到正确答案。

def question1(): 
    answer1 = raw_input("Do you like chickens?") 
    answer1 = answer1.lower() 
    if answer1 == 'yes': 
     print "That is Correct!" 
     question2() 
    else: 
     question1() 

如果你希望他们能够去到,即使他们弄错了下一个问题,你可以做像这样:

def question1(): 
    answer1 = raw_input("Do you like chickens?") 
    answer1 = answer1.lower() 
    if answer1 == 'yes': 
     print "That is Correct!" 
    else: 
     print "Next question coming!" 
    question2() 

def question2(): 
    answer2 = raw_input("How many days in a week?") 
    answer2 = answer2.lower() 
    if answer2 == '7' or answer2 == "seven": 
     print "That is Correct!" 
    else: 
     print "Sorry,that was wrong" 
    question3() 
+0

在第二个例子中,为'if ... else'子句的两个分支调用'question2()'是很容易出错的。把它移到外面。 –