won*_*t77 10 python if-statement raw-input
如果没有正确满足条件,如何让Python移动到if语句的顶部.
我有一个基本的if/else语句,如下所示:
print "pick a number, 1 or 2"
a = int(raw_input("> ")
if a == 1:
print "this"
if a == 2:
print "that"
else:
print "you have made an invalid choice, try again."
Run Code Online (Sandbox Code Playgroud)
我想要的是提示用户为这个if语句做出另一个选择,而不必重新启动整个程序,但我对Python很新,并且无法在任何地方在线找到答案.
And*_*ark 11
一种相当常见的方法是使用一个while True无限运行的循环,break语句在输入有效时退出循环:
print "pick a number, 1 or 2"
while True:
a = int(raw_input("> ")
if a == 1:
print "this"
break
if a == 2:
print "that"
break
print "you have made an invalid choice, try again."
Run Code Online (Sandbox Code Playgroud)
这里还有一种很好的方法来限制重试次数,例如:
print "pick a number, 1 or 2"
for retry in range(5):
a = int(raw_input("> ")
if a == 1:
print "this"
break
if a == 2:
print "that"
break
print "you have made an invalid choice, try again."
else:
print "you keep making invalid choices, exiting."
sys.exit(1)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
35693 次 |
| 最近记录: |