用python编写程序,对顾客购买的商品,让数量大于等于5件时,打八折,求总价

Python017

用python编写程序,对顾客购买的商品,让数量大于等于5件时,打八折,求总价,第1张

代码如下:

price = input("请输入商品价格以空格分割:").strip()

price = list(map(int,price.split(' ')))

amount = len(price)

if amount >= 5:

print(f"购买了{amount}件商品,享受八折优惠。优惠后的价格为:{sum(price)*0.8},优惠金额为:{sum(price)*0.2}")

else:

print(f"购买了{amount}件商品。总价为:{sum(price)}")

输出如下:

数学的思想解决,方法相当巧妙:

假设以上规则掷色子预期得到的积分是 m

如果第一次落在1,2,3,4,5之间的几率是5/6

那么,获得相应的1,2,3,4,5个积分;

由于掷出5个点的机会均等,

那么平均每5次获取积分总数是1+2+3+4+5 = 15,

求平均得到15/5 = 3

如果出现6点,规则是再掷一次色子,再一次掷出期望的积分依然还是 m

前后两次的期望值都是m,则有下面等式成立:

(3) * 5/6 + (6 + m)* 1/6 = m

推导可得:

m * 5/6 = 5/2 + 1 =>m = (7/2) * (6/5) = 21/5 = 4.2

m = 4.2