from cisc106_32 import*
def BillAmount(mb):
if mb <= 50:
price=50
elif 50<mb<=400:
price=(66.50+(.05)(mb-50.00))
elif 400<mb<=1000:
price=(72.00+(.08)(mb-50.00))
else:
price=100.00
return price
assertEqual(BillAmount(45),50)
assertEqual(BillAmount(400),84)
assertEqual(BillAmount(2000),100)
質問する
527 次
3 に答える
2
ほとんどのプログラミング言語では、数値を乗算するときに*
. 例えば:
result = (0.5) * (mb - 50.00)
(あなたが書くときの数学とは異なりresult=(0.5)(y)(500)
、乗算が暗示されます。)
于 2012-09-24T17:03:05.170 に答える
1
Python では..()
と見なされfunction operator
ます。したがって、Python で任意の単語に括弧を追加すると、関数呼び出しになります (まあ、いくつかの例外はありますが、ここでは問題ではありません) ..
したがって、これを行う場合: - (2)(5)
、2 と 5 を掛けるので2
はなく、引数で存在しない関数を呼び出そうとしています5
。
*
したがって、これらの括弧の間に a を追加して、(2)*(5)
于 2012-09-24T17:06:53.443 に答える
1
浮動小数点数を関数にしようとしています:
(.05)(mb-50.00)
2 つの値を乗算する場合は、次を使用します*
。
(.05) * (mb-50.00)
図:
>>> mb=51
>>> (.05)(mb-50.00)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'float' object is not callable
>>> (.05)*(mb-50.00)
0.050000000000000003
于 2012-09-24T17:03:34.517 に答える