-1

私は Python の学校の演習に取り組んでおり、購入額が 10 ドルから 20 ドルの場合、顧客に 20% の割引を与えるように求めています。その後、21 ~ 30 ドルの購入で 30% 割引。21 から 30 までの数字を入力するたびに、20% と 30% の割引が適用されます。また、pyscrpiter は 2 行目に順序付けできない型があると言っています。このエラーを解決するにはどうすればよいですか

    productprice=input ('Enter price of product')
if productprice > 10:
        discount = productprice*0.80
if productprice> 20:
        discount = productprice*0.70
4

4 に答える 4

6

Python3.x バージョン

productprice = float(input('Enter price of product'))
if 10.0 <= productprice <= 20.0:
    afterDiscount = productprice * 0.80
elif 20.1 <= productprice <= 30.0:
    afterDiscount = productprice * 0.70
else:
    afterDiscount = productprice
print (afterDiscount)

Python2.x バージョン

productprice = float(raw_input('Enter price of product'))

ノート

  1. Python では、次のように、数値が指定された範囲内にあるかどうかを確認できます。

    0 < num < 3
    

    数学的に有効な場合は を返しTrueFalseそうでない場合は を返します。

  2. elseパートを持つことは常に良いことです。

于 2013-10-05T03:23:04.983 に答える
2
productprice = float(raw_input('Enter price of product '))

if  30 >= productprice >= 21:
        productprice *= 0.70
elif  20 >= productprice >= 10:
        productprice *= 0.80

print(productprice)

入力を数値と比較するには、入力を int または float に変換する必要があります。また、elif を使用すると、1 つの割引のみを提供することが保証されます

于 2013-10-05T03:22:24.513 に答える
1
productprice=int(input ('Enter price of product'))
if productprice > 20 and productprice < 31:
    discount = productprice*0.70
elif productprice> 10:
    discount = productprice*0.80
于 2013-10-05T03:17:37.103 に答える