Python:循环原始输入
问题描述:
我是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: ")
我知道这段代码全是顶起来的。只是想学习。
答
name = None
while not name:
name = raw_input("Hello, please enter your name?: ")
if name:
print "Hello %s I am soandso" % name
答
您的代码中存在一个错误。您在循环中检查“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))
答
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: ")
这个循环将永远不会停止,因为又总是无