2017-09-11 6 views
0

したがって、円と球の円周を計算するのに役立つpython 3でプログラムを作成したいと思います。これまでのところこれが私の持っているものです。計算でエラーが発生する "float型の非整数でシーケンスを掛けることはできません"

pi = 3.14159 
value = input("Enter the value of your radius:") 
circ = 2*pi*value 
print(circ) 

しかし、「float型のnon-intでシーケンスを掛けることはできません」と続きます。これをどうやって解決するのですか?そして、入力を数字だけにするにはどうしたらいいですか?ありがとうございました。

答えて

0

は、入力が数値でない場合、これはエラーをスローします

value = float(input("Enter the value of your radius: ")) 

を試してみてください。また

、あなたは彼らがこのような何かを入力した場合、彼らは入力、あなただけの数を尋ねる保つことができるかを制御カントながら:

while True: try: value = float(input("Enter the value of your radius: ")) except ValueError: print("Please enter a number")

0

bash-3.2$ python3 test.py 
Enter the value of your radius:10 
Traceback (most recent call last): 
    File "test.py", line 3, in <module> 
    circ = 2*pi*value 
TypeError: can't multiply sequence by non-int of type 'float' 
を報告しているとして、あなたのプログラムを実行します

valueにはが返され、pythonはfloat(2 * pi)と文字列(文字シーケンスvalue)。 これを修正するには、乗算の前に値を浮動小数点に変換したいと思うかもしれません。例: この変更を実行

pi = 3.14159 
value = input("Enter the value of your radius:") 
circ = 2*pi*float(value) 
print(circ) 

サンプル

bash-3.2$ python3 test.py 
Enter the value of your radius:10 
62.8318 
関連する問題