2017-12-05 4 views
1

ユーザが入力した数値の2倍の値を表示できるようにしたいと考えています。floatまたはintとして入力

spam = int(input('choose any number: ')) 
print('Your number doubled is: ' + str(spam*2)) 

問題は、ユーザーが10進数、つまり3.4を入力した場合です。それは浮動小数点値になるのでエラーが発生します。

Traceback (most recent call last): 
    File "<pyshell#66>", line 1, in <module> 
    spam = int(input('choose any number: ')) 
ValueError: invalid literal for int() with base 10: '3.4' 

ユーザーに任意の数値(整数または浮動小数値)を入力させる簡単な方法はありますか?

これはpython 3のため、raw_inputは機能しません。

+3

'int'の代わりに' float'を使用しますか? –

答えて

1

あなたはfloatを使用することができます。これが動作する方法は、それを整数に変換しようとすると、それが動作しない場合、それはということです

​​

spam = float(input('choose any number: ')) 
print('Your number doubled is: ' + str(spam*2)) 
+0

ありがとう!私は何らかの理由でfloat(input())がintergerを受け入れないと考えました:/ –

0

これを行ってくださいそれをフロートに変換します。

関連する問題