2015-11-02 101 views
2

我是python的新手,如果沒有輸入,並且在輸入之前再次循環通過問題,我無法讓python循環訪問raw_input。一旦輸入下一個問題,例如Python:循環原始輸入

again = None 
while again == None: 
    name = raw_input("Hello, please enter your name?: ") 
    if name: 
     print "Hello %s I am soandso" % name 
again = raw_input("Please type a name: ") 

我知道這段代碼全是頂起來的。只是想學習。

回答

1
name = None 
while not name: 
    name = raw_input("Hello, please enter your name?: ") 
    if name: 
     print "Hello %s I am soandso" % name 
0

您的代碼中存在一個錯誤。您在循環中檢查「again == None」,但永遠不會更改「again」值,因此它始終等於「None」並且循環從不停止。

你可以用輸入邏輯成一個函數,然後問多個問題:

def get_value(question): 
    while True: 
     response = raw_input(question) 
     if response: 
      return response 


answer1 = get_value('What is your first name? ') 
answer2 = get_value('What is your last name? ') 

print('First name: {}, last name: {}'.format(answer1, answer2)) 
0
again = None 
while again == None: 
    name = raw_input("Hello, please enter your name?: ") 
    if name: 
     print "Hello %s I am soandso" % name 
again = raw_input("Please type a name: ") 

這個循環將永遠不會停止,因爲又總是無