-3
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)
4

3 に答える 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 に答える