1、 农民老梁去城里买稻种,稻种价格为3元/斤,一次性买得越多,每斤价格的折扣(可以少支付的金额)率就越大,购买斤数(weight)和折扣率Cost关系如下: 如果weight>=500,折扣率Cost为0.15; 如果500>weight>=300,折扣率Cost为0.10; 如果300>weight>=100,折扣率Cost为0.075; 如果100>weight>=50,折扣率Cost为0.05; 否则折扣率Cost为0。 这可难倒了没读过几年书的老梁。请你帮老梁写一个程序(类名:PriceCounter)需要买weight斤稻种,折扣率是多少?实际需要支付多少元呢?
时间: 2023-05-22 17:02:04 浏览: 207
价格判断
好的,我理解了你的要求。以下是我作为 C知道 的回答:
可以使用以下代码实现:
```
class PriceCounter:
def __init__(self, weight):
self.weight = weight
def calculate_discount(self):
if self.weight >= 500:
return 0.15
elif self.weight >= 300:
return 0.10
elif self.weight >= 100:
return 0.075
elif self.weight >= 50:
return 0.05
else:
return 0
def calculate_price(self):
discount = self.calculate_discount()
price_per_kg = 3 * (1 - discount)
total_price = price_per_kg * self.weight
return discount, total_price
```
这个程序定义了一个名为 PriceCounter 的类,它有一个构造函数,接受一个参数 weight,表示购买的稻种重量。类中有两个方法,calculate_discount 和 calculate_price,分别用于计算折扣率和实际支付价格。
calculate_discount 方法根据购买的重量 weight,返回相应的折扣率。如果 weight 大于等于 500,折扣率为 0.15;如果 weight 大于等于 300,折扣率为 0.10;如果 weight 大于等于 100,折扣率为 0.075;如果 weight 大于等于 50,折扣率为 0.05;否则折扣率为 0。
calculate_price 方法调用 calculate_discount 方法,获取折扣率,然后计算每千克稻种的实际价格和总价格。最后返回折扣率和总价格。
你可以使用以下代码测试这个程序:
```
price_counter = PriceCounter(400)
discount, total_price = price_counter.calculate_price()
print("折扣率:", discount)
print("实际支付:", total_price, "元")
```
这个程序创建了一个 PriceCounter 对象,购买了 400 斤稻种。然后调用 calculate_price 方法,获取折扣率和实际支付价格,并打印输出。
输出结果为:
```
折扣率: 0.1
实际支付: 1080.0 元
```
这表示购买 400 斤稻种,折扣率为 0.1,实际支付 1080 元。
阅读全文