重新启动if then语句

时间:2013-03-11 15:46:01

标签: python if-statement

就像我在python中一样。

choice1 = raw_input('John Blue Green')
if choice1 == 'A':
   print('blah')
elif choice1 == 'B':
   print('blahblah')

有人进入B但不正确,所以我希望它回去再问一遍。 我怎么做? 谨防, 我是编程菜鸟。

4 个答案:

答案 0 :(得分:5)

你基本上需要循环这个。一个例子是将它置于无限循环中,并在达到所需结果时手动将其分解:

while True:
    choice1 = raw_input('John Blue Green')
    if choice1 == 'A':
        print('blah')
        break # <-- 'A' is okay, so we can get out of the loop then
    elif choice1 == 'B':
        print('blahblah')

根据您的情况,您当然可以调整循环条件中的True,使其不是无穷无尽的,但实际上会对用户输入作出反应。然后你不需要break,但循环会自然地停止循环。但是如果你有多个接受输入值,那么仍然使用中断而不是具有巨大的循环条件可能更清晰。

答案 1 :(得分:0)

尝试一下while循环,所以你会得到:

choice1 = ''
while (choice1 != 'A'):
    choice1 = raw_input('John Blue Green')
    if (choice1 == 'A'):
        print('blah')
    elif (choice1 == 'B'):
        print('blahblah')

以下是while循环的一些解释: http://www.tutorialspoint.com/python/python_while_loop.htm

答案 2 :(得分:0)

你应该把你的代码放在循环中并要求确认(或者根据你自己的逻辑以某种方式决定)是否退出循环:

confirmation = 'n'
while (confirmation != 'y'):
  choice1 = raw_input('John Blue Green')
  if choice1 == 'A':
    print('blah')
  elif choice1 == 'B':
    print('blahblah')
  confirmation = raw_input('are you happy with the result?(y/n)')

答案 3 :(得分:-1)

choice1 = raw_input('John Blue Green')
while(choice1 == 'B'):
    print "blahblah"
    choice1 = raw_input('John Blue Green')
print "blah"