if语句-如何在if命令之前停止Python中的程序退出



我使用以下代码构建了一个简单的Python程序,该程序从用户处获取输入。

Name = raw_input('Enter your name: ')
Age = raw_input('Enter you age:')
Qualifications = raw_input('Enter you Qualification(s):')
A = raw_input()
print "Hello" +'.'+ "Your Name is " + Name + ". " + "Your Age is " + Age + ". " + "Your Qualification(s) is/are:" + Qualifications + "." 
print "If the above data is correct, type yes. If not, type no. Typing no will restart he program and make you write the form again." + A
if A in ['y', 'Y', 'yes', 'Yes', 'YES']:
    print 'Thanks for your submission'
if A in ['No' , 'no' , 'NO' ,'n' , 'N']:
    reload()

程序在if命令之前完成。

如果您指定的不是['y', 'Y', 'yes', 'Yes', 'YES']['No' , 'no' , 'NO' ,'n' , 'N'],则程序将完成并且不执行各自if -子句中的任何语句。

reload()函数不会做您期望的事情。它用于重新加载模块,应该在解释器内部使用。它还需要之前导入的module作为参数,不调用它将引发TypeError

所以为了再次提问,你需要一个循环。例如:

while True:
    name = raw_input('Enter your name: ')
    age = raw_input('Enter your age: ')
    qualifications = raw_input('Enter your Qualification(s): ')
    print "Hello. Your name is {}. Your age is {}. Your qualifications are: {}".format(name, age, qualifications)
    quit = raw_input("Is the above data correct [yY]? ").lower() # notice the lower()
    if quit in ("y", "yes"):
        break
    else:
        # If the input was anything but y, yes or any variation of those.
        # for example no, foo, bar, asdf..
        print "Rewrite the form below"

如果您现在输入的不是y, Yyes的任何变体,程序将再次询问问题。

在打印" your name is…"等内容后移动A raw_input行。这样的:

我还使脚本一直要求重新启动,直到输入有效。

Name = raw_input('Enter your name: ')
Age = raw_input('Enter you age:')
Qualifications = raw_input('Enter you Qualification(s):')
print "Hello" +'.'+ "Your Name is " + Name + ". " + "Your Age is " + Age + ". " + "Your Qualification(s) is/are:" + Qualifications + "."
print "If the above data is correct, type yes. If not, type no. Typing no will restart he program and make you write the form again."
yes = ['y', 'Y', 'yes', 'Yes', 'YES']
no = ['No' , 'no' , 'NO' ,'n' , 'N']
A = ''
while A not in (yes+no):   # keep asking until the answer is a valid yes/no
    A = raw_input("Again?: ")
if A in yes:
    print 'Thanks for your submission'
if A in no:
    reload()

相关内容

  • 没有找到相关文章

最新更新