[7kyu] Pizza Payments

Kate and Michael want to buy a pizza and share it. Depending on the price of the pizza, they are going to divide the costs:

  • If the pizza is less than €5,- Michael invites Kate, so Michael pays the full price.
  • Otherwise Kate will contribute 1/3 of the price, but no more than €10 (she’s broke :-) and Michael pays the rest.

How much is Michael going to pay? Calculate the amount with two decimals, if necessary.

My solution:

def michael_pays(costs):
    if costs < 5:
        return round(costs,2)
    else:
        return round( costs - min(costs/3,10), 2)

Best solution:

def michael_pays(cost):
    return round(cost if cost < 5 else max(cost*2/3, cost-10), 2)

Tips:

  • round()函数用法:返回浮点数x的四舍五入值。round( x [, n] )
round(80.23456, 2) :  80.23
round(100.000056, 3) :  100.0
round(-100.000056, 3) :  -100.0
  • if-else 一行写法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值