ユーザーがメニュー選択で整数の代わりに文字列を入力し、ユーザーがデータとして入力した金額を入力した場合、エラー メッセージを追加する必要があります。このコードを試しましたが、うまくいきません。
import sys
try:
newamount=int(input('Enter the new amount:'))
except ValueError:
print ("error")
私は何を間違っていますか?
ユーザーがメニュー選択で整数の代わりに文字列を入力し、ユーザーがデータとして入力した金額を入力した場合、エラー メッセージを追加する必要があります。このコードを試しましたが、うまくいきません。
import sys
try:
newamount=int(input('Enter the new amount:'))
except ValueError:
print ("error")
私は何を間違っていますか?
TypeError
int()
へのパラメーターが間違った型であった場合に発生します。
Python3 を使用していると仮定すると、 の戻り値input()
は常に型になりますstr
ValueError
型が問題ない場合に発生しますが、コンテンツを に変換できませんint
。
何度も尋ねるには、while
ループを使用する必要があります
while True:
try:
newamount=int(input('Enter the new amount:'))
break
except ValueError:
print ("error")
エラーのカウントを保持したい場合は、ループを使用itertools.count
しますfor
from itertools import count
for c in count():
try:
newamount=int(input('Enter the new amount:'))
break
except ValueError:
print ("error", c)
入力を手動で評価する必要がある場合は、 raw_input を使用する方がよいと思います。こんなふうになります...
s = raw_input()
try:
choice = int(s)
except ValueError:
print ('Wrong Input!')