2015-11-02 105 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: ") 

这个循环将永远不会停止,因为又总是无