2

就像我在 python 中一样。

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

有人输入 B 但它不正确,所以我希望它返回并再次询问。我怎么做?当心,我是一个编程菜鸟。

4

4 回答 4

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,但循环自然会停止循环。但是,如果您有多个接受输入值,那么仍然使用中断而不是使用巨大的循环条件可能会更干净。

于 2013-03-11T15:50:42.017 回答
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

于 2013-03-11T15:50:50.457 回答
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)')
于 2013-03-11T15:52:18.240 回答
-1
choice1 = raw_input('John Blue Green')
while(choice1 == 'B'):
    print "blahblah"
    choice1 = raw_input('John Blue Green')
print "blah"
于 2013-03-11T15:47:46.437 回答