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
私が間違っていることを知っている人はいますか?
編集
新しいエラーです。続行するのではなく、最初、2番目、またはその他の入力で終了した場合、スクリプト全体を終了する必要があります...
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