Discount Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission All the shops use discount to attract customers, but some shops doesn’t give direct discount on their goods, instead, they give discount only when you bought more than a certain amount of goods.
break return prices Reference https://leetcode.com/problems/final-prices-with-a-special-discount-in-a-shop
extends Discount>>(); STRATEGY_LIST.add("discount.Common"); STRATEGY_LIST.add("discount.GoldVip") ; STRATEGY_LIST.add("discount.BronzeVip"); STRATEGY_LIST.add("discount.SilverVip"); } @SuppressWarnings extends Discount> cls = (Class<? = null) disCount = disCountRate; disCount.disCount(money); // if (money > 1000 && money <= = new SilverVip(); // } else if (money > 3000) { // disCount = new GoldVip(); // } // disCount.disCount
"大量计算代码" discount = 0.3 return discount def parse_level_4(): "大量计算代码" discount = 0.4 _6(): "大量计算代码" discount = 3 + 2 - 5 * 0.1 return discount discount_map = { 1: parse_level parse_level_1(level): "大量计算代码" discount = 0.1 return discount @get_discount.register(2) def parse_level_2(level): "大量计算代码" discount = 0.2 return discount @get_discount.register (3) def parse_level_3(level): "大量计算代码" discount = 0.3 return discount @get_discount.register
; // 折扣优惠(具体策略角色) public class Discount implements BaseDiscountStrategy { private double discount ; public Discount(double discount) { // Discount(double discount) { if(discount > 1) discount = 1; else if(discount < 0) discount = 0.1; this.discount money * this.discount; } } package pers.junebao.strategy_mode.discount; // 满减优惠(具体策略角色) public ; import pers.junebao.strategy_mode.discount.Discount; public class CashRegisterSystem { public
_discount @discount.setter def discount(self, discount): self. _discount = discount h = House("河畔小区", 2000000) h.discount = 0.89 # 创建House对象的discount()方法 print(h.cal_price ()) class Book(metaclass=MyMetaClass): __slots__ = ('name', 'price', '_discount') def __init _discount @discount.setter def discount(self, discount): self. _discount = discount b = Book("Python从菜鸟到高手", 128) b.discount = 0.6 print(b.cal_price()) 在这段代码中定义了House
) { if(discount > 0.9) { System.out.println("Saleman Discount ==> " + discount); }else ) { if(discount > 0.8) { System.out.println("SaleManager Discount ==> " + discount); } ) { if(discount > 0.7) { System.out.println("AreaManager Discount ==> " + discount); = 0.95; salemanHandler.handle(discount); discount = 0.88; salemanHandler.handle(discount (discount); } } 输出: Saleman Discount ==> 0.95 SaleManager Discount ==> 0.88 AreaManager Discount
"大量计算代码" discount = 0.1 return discount 如果要定义不等于逻辑,就在.register()中添加一个参数op: @get_discount.register ,所以可以看到get_discount(6)和get_discount(10)返回的都是1. discount @get_discount.register(10, op='gt') def parse_level_gt2(level): discount = 100 return <5') discount = 0.5 return discount 如果区间存在全包含、部分包含应该运行哪个函数? 例如: @get_discount.register(ge=2, lt=00) ... @get_discount.register(ge=20, lt=50) ...
# discount_strategy即使外界传入的打折方法 self.discount_strategy = discount_strategy def price_after_discount (self): if self.discount_strategy: discount = self.discount_strategy(self) else: discount = 0 return self.price - discount def __repr__(self): fmt = '<Price: {}, price after discount: {}>' return fmt.format(self.price, self.price_after_discount =ten_percent_discount)) print(Order(1000, discount_strategy=double_eleven_discount)) 怎么样,是不是非常简单呢
例如: def calculate_discount(amount): if amount > 1000: discount = 0.2 elif amount > 500 : discount = 0.1 else: discount = 0 return amount * discount amount = float( 例如: DISCOUNT_THRESHOLD = 1000 DISCOUNT_RATE_HIGH = 0.2 DISCOUNT_RATE_LOW = 0.1 def calculate_discount (amount): if amount > DISCOUNT_THRESHOLD: discount = DISCOUNT_RATE_HIGH else: discount = DISCOUNT_RATE_LOW return amount * discount amount = float(input('请输入购物金额:')) discounted_amount
__total def due(self): if self.promotion is None: discount = 0 else: discount = self.promotion(self) return self.total() - discount def __repr__(self): fmt = '<Order total for each LineItem with 20 or more units""" discount = 0 for item in order.cart: if item.quantity >= 20: discount += item.total() * .1 return discount def large_order_promo(order): """7% discount = 'best_promo'] def best_promo(order): # <2> """Select best discount available """ return max(promo
= 0.00; public DiscountCashFee(double discount){ this.discount = discount / 10; (double discount) { this.discount = discount; } } package com.designModel.chaper2_strategeModel.step2 = 0.00; public DiscountCashFee(double discount){ this.discount = discount / 10; (double discount) { this.discount = discount; } } package com.designModel.chaper2_strategeModel.step3 ; } public void setDiscount(double discount) { this.discount = discount; }
public interface Discount { public float discount(); } // 正常折扣 public class NormalDiscount implements implements Discount { public float discount() { return 0.8f; } } // 黄金折扣 public class GoldDiscount implements Discount { public float discount { return 0.7f; } if (discount ! discount = SimpleDiscountFactory.getDiscount(memberType); price *= discount.discount();
public interface IOrderDiscountStrategy<T> { BigDecimal discount(T t , BigDecimal totalMoney); (T t , BigDecimal totalMoney){ return this.orderDiscountStrategy.discount(t,totalMoney); ("七夕优惠价:"+discount); } } 输出: 生日优惠价:408.8 优惠卷优惠价:462.5 七夕优惠价:881.3 由上可知,订单有多种优惠策略 public class OrderService{ public void discount(String type , BigDecimal totalMoney) { if discount(totalMoney); }else if ("优惠卷".equals(type)){ discount(totalMoney);
Whenever there is a discount of the kind where you can buy three items and only pay for two, she goes In this case she got a discount of 250 dollars. You realize that if she goes to the counter three times, she might get a bigger discount. to a total discount of 350. Your job is to find the maximum discount Lindsay can get.
discount($member); } class PlatinumMemeberState implements State { public function discount($member $m->discount(), PHP_EOL; $m->SetScore(990); echo '当前会员' . $m->GetScore() . '积分,折扣为:' . $m->discount(), PHP_EOL; $m->SetScore(660); echo '当前会员' . $m->GetScore() . '积分,折扣为:' . $m->discount(), PHP_EOL; $m->SetScore(10); echo '当前会员' . $m->GetScore() . '积分,折扣为:' . $m->discount(), PHP_EOL; 说明 如果不使用状态模式,在Member的discount()方法中,我们可能需要写很多层if...else...判断条件 同时,这也带来了方法体会越来越长
__total def due(self): if self.promotion is None: discount = 0 else: discount = self.promotion(self) return self.total() - discount def __repr__(self): fmt = '<Order total # <2> promos.append(promo_func) return promo_func @promotion # <3> def fidelity(order): """5% discount for each LineItem with 20 or more units""" discount = 0 for item in order.cart: if item.quantity >= 20: discount += item.total() * .1 return discount @promotion def large_order(order): """7% discount
例如 "6.75" 表示价格,而 "100"、" 给你一个字符串 sentence 和一个整数 discount 。 对于每个表示价格的单词,都在价格的基础上减免 discount% ,并 更新 该单词到句子中。 所有更新后的价格应该表示为一个 恰好保留小数点后两位 的数字。 返回表示修改后句子的字符串。 示例 1: 输入:sentence = "there are $1 $2 and 5$ candies in the shop", discount = 50 输出:"there are $0.50 $1.00 示例 2: 输入:sentence = "1 2 $3 4 $5 $6 7 8$ $9 $10$", discount = 100 输出:"1 2 $0.00 4 $0.00 $0.00 7 8$ $0.00 <= 100 来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/apply-discount-to-prices 著作权归领扣网络所有。
Can you tell me how much it will cost after the discount?" }, { "from": "function_call", "value": "{\"name\": \"calculate_discount\", \"arguments \": {\"original_price\": 200, \"discount_percentage\": 20}}" }, { "from": "observation ." } ], "system": "系统提示词(选填)", "tools": "[{\"name\": \"calculate_discount\", \"description \", \"discount_percentage\"]}}]" } ] function_call表示函数调用,什么是函数调用?
抽象策略类 Discount,它是所有具体优惠算法的父类,定义了一个 discount 抽象方法 import lombok.Data; @Data public abstract class Discount this.desc = desc; } abstract double discount(double price); } 四种具体策略类,继承自抽象策略类 Discount,并在 discount 方法中实现具体的优惠算法 public class Dis9Discount extends Discount { public Dis9Discount() { super( return finalPrice; } } public class Dis8Discount extends Discount{ public Dis8Discount() { double finalPrice = discount.discount(this.price); String desc = discount.getDesc();