1
print ("What is/was your original purchase price?")
x = input
valx=float(x)

print ("Amount of original purchase: ${}"
   .format(valx))
print ("State sales tax on original purchase: ${}"
   .format(valx*.04))
print ("County sales tax on original purchase: ${}"
   .format(valx*.02))
print ("Total sales tax (county and state): ${}"
   .format(valx*.06))
print ("Total of the sale (original purchase and total sales tax): ${}"
   .format(valx*.06))

これは私には理にかなっており、過去にこの方法を使用しましたが、現在は機能しません。

Output error: line 9, in <module>builtins.TypeError: float() argument must be a string or a number

基本的に私の目標は、最初の購入額、最初の購入に対する州の消費税(4%)の金額、最初の購入に対する郡の消費税(2%)の金額、合計の消費税(郡税)を表示することです。プラス州税)、および最終的に販売の合計(最初の購入額と消費税の合計の合計)。

4

4 に答える 4

3

変数に関数を割り当てていますx

x = input
>> x
<built-in function input>

つまり、float()関数に文字列や数値を与えるのではなく、関数を与えることになります。

あなたがやろうとしているのは関数を呼び出すことだと思います。input()メッセージをそれに統合することもできます。

x = input ("What is/was your original purchase price?")

または、Python 3以降を使用している場合は、入力を文字列からfloat(または整数、または任意の型)に変換する必要があります。

x = float(input("What is/was your original purchase price?"))
于 2012-09-24T03:06:02.310 に答える
0

セキュリティ上の理由から、raw_input()の代わりにを使用する必要がありinput()ます。後者はと同じでeval(raw_input(prompt))あり、evalは悪からそれほど遠くありません:)

于 2012-09-24T09:11:32.307 に答える
0

おそらく、私たちが見る必要がないと思った6行が上にあります。ただし、9行目について話すのは少し役に立たない。

確かにあなたは入力関数を呼び出すことを意味します

x = input()
于 2012-09-24T03:06:55.780 に答える
0

コマンドラインから入力を取得する方法は次のとおりです。

valx=float(input("What is/was your original purchase price?"))

inputは文字列であり、その呼び出しをラップすることでフロートに変換します。その場合、追加の変数は必要ありません。

于 2012-09-24T03:08:26.433 に答える