使用PySripter之类的程序时,以下代码除了正确...
基本上,输入值必须是1, 2, 3, 4 or 10
,如果它不是这些数字中的任何一个,那么它会让它们再试一次。
如果他们选择了列表中的数字,那么它将继续执行脚本的下一部分。
在PySripter当我运行它时会弹出一个框供我输入值但是如果我按下取消或红十字会发送“KeyboardInterrupt”异常但是我无法退出脚本/停止来自运行的脚本..
dvalues = [1, 2, 3, 4, 10]
d1 = None
while d1 is None:
try:
d1= int(input("First Value "))
if not d1 in dvalues:
d1= None
print("Can't do this")
except KeyboardInterrupt:
print('Canceled')
continue
else:
pass
任何人都知道我做错了什么?
修改
新错误,是否应退出整个脚本,如果退出第一个,第二个或任何输入而不是继续......
tot = int(15)
dvalues = [1, 2, 3, 4, 5, 10]
while tot > int(0):
d1 = None
while d1 is None:
try:
d1 = int(input("First Value"))
if not d1 in dvalues:
d1 = None
else:
print("Fail")
except KeyboardInterrupt:
break
d2 = None
while d2 is None:
try:
d2 = int(input("Second Value"))
if not d2 in dvalues:
d2 = None
else:
print("Fail")
except KeyboardInterrupt:
break
total = d1+d2
答案 0 :(得分:2)
而不是继续,请尝试使用 break 。它将结束循环而不是继续执行。 此外, else:pass 部分是多余的。
答案 1 :(得分:0)
你现在可能已经发现了这个,但你可以......
import sys
sys.exit(1)
...提前退出你的剧本
exit()
接受错误代码,0
表示“无错误”