0

私はこの関数を実行しようとし続けていますが、プログラムは下の 6 行目にフロートを入力する必要があると言い続けています。float() 関数に入ろうとすると、まだ float が必要だと表示されます。私はそれを間違っていると思います。フロートに正しく入力するにはどうすればよいですか? (私は Python 3.3 を実行しています。)

import math

a=input('a=?')

b=input('b=?')

c=input('c=?')

d=input('d=?')

critical_point_p=((-2*b)+math.sqrt((4*(math.pow(b, 2)))-(12*a*c)))/(2*a)

critical_point_n=((-2*b)-math.sqrt((4*(math.pow(b, 2)))-(12*a*c)))/(2*a)
4

1 に答える 1

5

input() 関数を使用すると、ユーザーから STRING が取得されます。つまり、本質的に、文字列を関数に接続しています。文字列は 'hello'、'5'、または '5.23' の可能性があります。文字として読み取られるため、これらはすべてエラーの原因となります。入力を float としてキャストする必要があります。

a = float(input('a=?'))

その行はトリックを行います。もちろん、他の入力フィールドについても同じことを行います。

于 2013-05-31T23:17:53.030 に答える