某公司笔试题 - 汽水瓶(附python代码)

发布时间 2023-08-16 10:47:18作者: Alpha_To_Beta
# 某商店规定: 三个空汽水瓶可以换一瓶汽水,允许向老板借空汽水瓶(但必须要归还)。小张手里有n个空汽水瓶,她想知道自己最多可以喝到多少瓶汽水。
# 数据范围:输入的整数满足1<=n<=100
# 注意:本题有多组输入,输入的0表示输入结束,并不用输出结果。

def Sodabottle(nums):
# a 表示能换的汽水瓶的数量(取整)
a = nums // 3
# b 表示是不能换汽水瓶的数量(取余数)
b = nums % 3
# c 表示总的空汽水瓶的数量
c = a + b
# 如果有两个空瓶子,能换的汽水瓶数量a+1
if c == 2:
a = a + 1
# 如个不足2个空瓶子,能换的汽水瓶数量就是a
elif c < 2:
a = a + 0
# 换过的汽水瓶喝完又可以再换,所以不停的调用Sodabottle()函数,只到最后不能换汽水
else:
a = a + Sodabottle(c)
return a

while True:
nums = int(input("请输入汽水空瓶子数:"))
if 1 <= nums <= 100:
print(Sodabottle(nums))
else:
print("输入的空汽水瓶已超出数据范围,程序终止!")
break