1、n=int(input()):读取输入的一个整数 n,代表一共需要购买的总数量。
2、sums=[]:创建空列表 sums,用来存放三种方案各自需要花费的总价钱。
3、for i in range(3):
for 循环,循环执行 3 次,表示一共有3 种采购套餐方案。
4、num,price=map(int,input().split()):每一轮循环读取一行输入,两个整数:每包价格和数量
5、if n%num==0:
sums.append(n//num*price)
else:
sums.append((n//num+1)*price)
判断:总数量 n 能不能刚好被一套的数量 num 整除
如果整除:刚好买 n//num 套,总价 = 套数 × 单价
如果不能整除:不能零散购买,必须多买一整套凑够数量,套数 = n//num + 1
计算出该方案总价,添加进列表sums
这是向上取整计算购买套数:需要买足量,不允许少买。
6、print(min(sums))
min(sums) 获取列表里最小的金额,也就是三种方案里最便宜的花费,打印结果。
也可以利用math库中的函数实现向上取整。