第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.退出:结束程序。
当猴子吃完所有小桃子时,我们会输出“猴子吃完了所有的桃子!”。