鸡兔同笼python程序怎么写?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了鸡兔同笼python程序怎么写?相关的知识,希望对你有一定的参考价值。
鸡兔同笼python程序编写要根据原书中的描述的:“今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?”鸡兔同笼python程序具体写法如下:
把原文翻译成现代汉语是:“鸡和兔放在一个笼子里, 笼子里共有35个头,94个爪,那鸡和兔各有多少只?”
1、根据题意,头的总数为35,用变量head来记录头的总数:head =35。而腿的总数为94,用变量foot来记录腿的总数:(foot = 94)。
2、用变量chicken记录鸡的数量。因为头的总数为35,说明鸡和兔共有35只,所以鸡的数量是0-35之间的某一个数,这里用for循环来指挥计算机,自动罗列所有可能出现的情况:(for chicken in range(0, head+1):))。
3、然后,用变量rabbit记录兔子的数量。因为鸡和兔的总数等于头的数量,所以兔的数量rabbit等于头的总数head减去鸡的数量(chicken:rabbit=head一chicken)。
4、鸡有两条腿,兔子有四条腿,所以腿的总数为:(if chicken *2 + rabbit *4 == foot:print('鸡',chicken, '兔',rabbit))执行代码,就完成了。
python程序编写:
Python编程是一种跨平台的计算机程序设计语言,是ABC语言的替代品。Python能提供高效的高级数据结构,还能简单有效地面向对象编程。
是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。
一种可能的方法是使用一个while循环,在循环中使用if-elif语句来判断鸡和兔的数量。在每次循环中,可以更新鸡和兔的数量,并打印出当前的鸡和兔的数量。
举个例子:
Copy codechickens = 10rabbits = 5while chickens + rabbits < 50: if chickens < rabbits:
chickens += 1
elif chickens > rabbits:
rabbits += 1
else:
chickens += 1
rabbits += 1
print("Chickens:", chickens) print("Rabbits:", rabbits)
这个例子中,我们初始化鸡和兔的数量为10和5,然后使用while循环来不断增加鸡和兔的数量直到它们的总数为50。在每次循环中,我们使用if-elif语句来判断鸡和兔的数量,并根据需要增加鸡或兔的数量。
注意: 这仅是一种可能的实现方式,需要根据具体需求进行修改。
Python之鸡兔同笼
1.问题的描述
大约在1500年前,《孙子算经》中就记载了这个有趣的问题:“今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?”意思是,有若干只鸡和兔子关在同一个笼子里,从上面数有35个头,从下面数有94只脚,问:笼子中有多少只鸡?多少只兔子?
我们今天用Python解决鸡兔同笼问题:请用户输入头数和脚数,判断有多少只鸡,多少只兔子。
2.解题思路
第一步: 用input函数使用户输入头的个数和脚的个数
第二步: 判断鸡和兔子的数量,需要把握住关键条件“鸡+兔=头数;2鸡+4兔=脚数”,用两层for循环遍历鸡和兔的数量,计算结果
第三步: 输出正确结果
3.解题方法
方法一
head = int(input("请输入头数:"))
foot = int(input("请输入脚数:"))
x = 0 # 鸡
y = 0 # 兔子
answer = False
for x in range(head+1):
for y in range(head+1):
if x + y == head and 2 * x + 4 * y == foot:
answer = True
break
if answer:
break
if answer:
print("鸡有", x, "只;兔子有", y, "只")
else:
print("此题无解,请重新输入")
第1行: 定义变量head,用input函数使用户输入头数,int函数将其转化为整型
第2行: 同理,定义变量foot,用input函数使用户输入脚数,int函数将其转化为整型
第3-4行: 定义变量x,y,分别表示鸡和兔子的数量,初始赋值均为0
第5行: 定义变量answer,这个问题有没有解,暂时不清楚,所以初始赋值先为False
第7行: 用for循环遍历0至head+1的整数,并为x赋值
第8行: 在for循环的基础上嵌套一个for循环,同样遍历0至head+1的整数,并为y赋值
第9-11行: 用if语句判断,如果两动物的数量和等于head,脚之和等于foot,则answer为True,并用break退出第一重循环
第12-13行: 继续用if语句判断变量x的循环,如果答案为真,则退出循环
第15-18行: 用if...else语句判断,如果答案为真,则用print函数打印鸡和兔的数量,否则打印此题无解
方法二
n=input()
l=list()
for k in range(n):
inputNum=input()
#odd
if inputNum%2!=0:
min=max=0
else:
#even
#min
j=inputNum/4
i=inputNum%4/2
min=i+j
#max
max=inputNum/2
l+=[(min,max)]
for a,b in l:
print a,b
以上是关于鸡兔同笼python程序怎么写?的主要内容,如果未能解决你的问题,请参考以下文章