python用面向对象程序设计的方法写鸡兔同笼问题代码
时间: 2024-10-11 19:17:12 浏览: 20
在Python中,我们可以使用面向对象的方式来解决经典的“鸡兔同笼”问题。这是一个涉及类、属性和方法的例子,假设我们有两个类:Chicken(鸡)和Rabbit(兔子),它们都属于Animal(动物)类,并且都有一个共同的count属性表示各自的数量。我们可以定义一个solve()方法来计算总腿数并找出鸡和兔子的数量。
```python
class Animal:
def __init__(self, name, count):
self.name = name
self.count = count
def legs(self):
# 动物的基本腿数
return self.count * 4
class Chicken(Animal):
def legs(self):
# 鸡有2条腿
return self.count * 2
class Rabbit(Animal):
def legs(self):
# 兔子有4条腿
return self.count * 4
def solve(total_legs, total_animals):
chicken_count = 0
rabbit_count = 0
for i in range(total_animals + 1): # 从0到total_animals尝试所有可能的数量组合
if (i * 4) + ((total_animals - i) * 2) == total_legs:
chicken_count = i
rabbit_count = total_animals - i
break # 找到符合条件的一组即可停止循环
return chicken_count, rabbit_count
# 示例:
total_legs = 70
total_animals = 20
chicken, rabbit = solve(total_legs, total_animals)
print(f"有{chicken}只鸡和{rabbit}只兔子.")
阅读全文