第63讲:Python编程案例之猴子吃桃
发布人:shili8
发布时间:2024-11-15 21:26
阅读次数:0
**第63讲:Python编程案例之猴子吃桃**
在前面的章节中,我们已经学习了 Python 的基本语法、数据类型、控制结构等知识。现在,它是时候来实践这些知识了!本讲我们将通过一个经典的案例——猴子吃桃——来演示 Python 编程的应用。
**案例背景**
在一棵大树下,有一只贪婪的猴子,它每天都要吃一些桃子的。桃子是由许多个小桃子组成的,每个小桃子代表一个单位的价值。猴子每天都会吃掉一定数量的小桃子,直到它吃完所有的小桃子为止。
**案例需求**
我们需要编写一个 Python 程序来模拟这个场景。程序应该能够:
1. 初始化一棵树上的桃子的数量。
2. 每天让猴子吃掉一定数量的小桃子。
3. 当猴子吃完所有小桃子时,输出“猴子吃完了所有的桃子!”。
**案例代码**
# 桃子类class Peach:
def __init__(self, total_peach):
"""
初始化桃子的数量 :param total_peach: int, 总共有多少个小桃子 """
self.total_peach = total_peach self.eaten_peach =0 def eat(self, num):
"""
猴子吃掉一定数量的小桃子 :param num: int, 猴子要吃掉的桃子的数量 """
if self.total_peach >= num:
self.total_peach -= num self.eaten_peach += num print(f"猴子吃了 {num} 个小桃子,剩余桃子数:{self.total_peach}")
else:
print("没有更多的桃子了!")
def is_all_eaten(self):
"""
判断是否所有的小桃子都被吃完了 :return: bool, True表示所有的小桃子都被吃完了,False表示还剩余小桃子 """
return self.total_peach ==0# 主函数def main():
# 初始化桃子的数量 peach = Peach(100)
while True:
print("
1. 猴子吃桃子
2. 查看剩余桃子数
3.退出")
choice = input("请输入您的选择:")
if choice == "1":
num = int(input("猴子要吃多少个小桃子?"))
peach.eat(num)
elif choice == "2":
print(f"剩余桃子数:{peach.total_peach}")
elif choice == "3":
break else:
print("请输入正确的选项!")
if peach.is_all_eaten():
print("
猴子吃完了所有的桃子!")
else:
print("
还剩余小桃子!")
if __name__ == "__main__":
main()
**案例解释**
在这个案例中,我们定义了一个 `Peach` 类来模拟桃子的数量和行为。每个 `Peach` 实例都有一个 `total_peach` 属性,代表总共有多少个小桃子,以及一个 `eaten_peach` 属性,记录猴子已经吃掉的桃子数。
在 `main()` 函数中,我们初始化了一棵树上的桃子的数量为100,然后进入一个循环。每次循环中,我们让用户选择要进行什么操作:
1. 猴子吃桃子:让猴子吃掉一定数量的小桃子。
2. 查看剩余桃子数:输出当前剩余的桃子数。
3.退出:结束程序。
当猴子吃完所有小桃子时,我们会输出“猴子吃完了所有的桃子!”。

