2013-12-23 70 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()'是很容易出錯的。把它移到外面。 –