2017-06-18 8 views
0

を必要とするコード:基本的な私はいくつかのコードを書いている修正

mon=10 
a=1 
print("You have",mon,"pounds") 
bet=input("How much do you want to bet?") 
if bet % 1==0: 
    bet=int(bet) 
else: 
    print("Give me a whole number please") 

しかし、私は私が手に答えるとき:

Traceback (most recent call last): 
    if bet % 1==0: 
TypeError: not all arguments converted during string formatting 
+2

" bet "は数字ではなく文字列です。まずそれを変換する必要があります。文字列に '%'を使用すると、数値のモジュロを取得せずに文字列をフォーマットしています。 –

答えて

3

input()は、文字列を返します。 docsから

プロンプト引数が存在する場合、それは改行せずに、標準出力に書き込まれます。関数は入力から行を読み込み、を文字列(末尾の改行を取り除く)に変換して返します。

次のようにあなたのコードを変更する必要があります。

mon=10 
a=1 
print("You have",mon,"pounds") 
bet=input("How much do you want to bet?") 
try: 
    bet=int(bet) 
    print(bet) 
except: 
    print("Give me a whole number please") 

その方法は、プログラムが整数にintputユーザーを変換しようとします - それが失敗した場合、それは私の全体の数を与える」印刷しますしてください"

関連する問題