站长在线经典Python题:使用Python编程思想解决鸡兔同笼的问题的4种方法
欢迎你来到站长在线的Python题库,鸡兔写完Python教程以后,还是来一个Python的题目吧!想来想去,还是写一个经典的题目为好,作为本栏目的第一个题目。我就想到了比较热门的题目《鸡兔同笼的问题》,本文不是用数学的方法,而是用Python编程的方法解决鸡兔同笼的问题。解决问题具体的方法就是:顺序语句假设法、选择语句判定法、while循环语句遍历法、for循环语句遍历法。下面我来一一解答:
目录
1、顺序语句假设法
2、选择语句判定法
3、while循环语句遍历法
4、for循环语句遍历法
题目:有一些鸡和兔子关在一个笼子里面,从上面数,一共有10个头;从下面数,一共有36只脚。问:笼中有多少只鸡和兔?
这里写Python代码的时候,涉及到几个词语的英语单词,英语好的,就用英语,和我一样英语差的就写拼音,效果是一样的。(当然使用中文汉字也是可以的,但是不建议使用中文汉字。)
鸡:ji、chick
兔:tu、rabbit
头:tou、head
脚:jiao、foot
鸡脚:ji_jiao、chick_foot
兔脚:tu_jiao、rabbit_foot
接下来,用编程的思想,把题目已知条件,或者隐藏的条件,转换成变量,输入到Python里面。
1、顺序语句假设法
解题思路和编程流程:
鸡和兔的数量是10
鸡脚和兔脚的数量是36
全部是鸡时(即兔抬起两只脚时,视为鸡),脚的数量是10*2=20
总脚减去鸡的脚,剩余脚的数量就是兔的脚,剩余36-20=16只脚,这抬起来的16只脚全部是兔子的
每只兔子都是抬起了2只脚,这抬起来的16只脚,其实就是16/2=8只兔子
因为兔是8只,鸡就是10-8=2只
输出鸡和兔的数量
使用IDLE中文版新建文档的名称为:鸡兔同笼.py,写入以下代码:
tou = 10 # 鸡头和兔头一共10只
jiao = 36 # 鸡脚和兔脚一共36只
ji_jiao = tou*2 # 全部为鸡时(即兔抬起两只脚时,视为鸡),鸡的脚是头的两倍
tu_jiao = jiao - ji_jiao # 抬起来的两只脚就是兔子的脚
tu = tu_jiao // 2 # 兔等于抬起来的两只脚的一半,这里用//(整除)而不是/(除)
ji = tou - tu # 鸡的数量是总数减去兔的数量
print('鸡的数量',ji) # 输出鸡的数量
print('兔的数量',tu) # 输出兔的数量
运行结果为:
鸡的数量 2
兔的数量 8
>>>
2、选择语句判定法
ji =int(input('请输入一个1至10数值的整数'))
tu = 10 - ji
if (2*ji+4*(10-ji)==36) and (ji + tu == 10):print("鸡:",ji,"兔:",tu) # 输出鸡和兔的数量
运行结果:
输入的值是1的时候,不符合条件,没有显示:
请输入一个1至10数值的整数1
>>>
当输入的值是2的时候,符合条件,显示结果:
请输入一个1至10数值的整数2
鸡: 2 兔: 8
>>>
当然,这里总共才10,最多输入10次,就满足条件了,要是很大的数值的话,目前的方法还是不行的,可以使用下面的while循环和for循环。
3、while循环语句遍历法
ji = 0
tu = 0
while ji <= 10 and tu <= 10:if ji + tu == 10:print("鸡%d只,有兔%d"%(ji,tu))if 2*ji + 4 * tu == 36:print("有鸡%d只,有兔%d只"%(ji,tu))breakji += 1tu = 10 - ji
运行结果为:
鸡1只,有兔9
鸡2只,有兔8
有鸡2只,有兔8只
>>>
4、for循环语句遍历法
for ji in range(0,10): # 鸡的数量从1开始循环到10if 2*ji+4*(10-ji)==36: # 2倍鸡的脚+4倍兔的脚是36print("鸡:",ji,"兔:",10-ji) # 输出鸡和兔的数量
运行结果为:
鸡: 2 兔: 8
>>>
到此为止,本文的《鸡兔同笼的问题》解决问题具体的方法就是:顺序语句假设法、选择语句判定法、while循环语句遍历法、for循环语句遍历法。已经讲解完毕了,有问题可以给我留言哦!
站长在线经典Python题:使用Python编程思想解决鸡兔同笼的问题的4种方法相关推荐
- 利用Python语言编程,解决鸡兔同笼问题,已知同一个笼子里鸡和兔总共有h只,鸡和兔的脚数总共有f只,其中h和f需要用户输入,求鸡和兔各有多少只。
利用Python语言编程,解决鸡兔同笼问题,已知同一个笼子里鸡和兔总共有h只,鸡和兔的脚数总共有f只,其中h和f需要用户输入,求鸡和兔各有多少只. 提示:利用循环,采用枚举法. 要求:当输入的h和f没 ...
- python求鸡兔同笼 鸡兔总数鸡兔腿_编程解决鸡兔同笼的问题:假设共有鸡、兔30只,脚90只,求鸡、兔各有多少只? 提交代码和截图_学小易找答案...
[判断题]链路是指两个相邻节点之间的通信线路 [简答题]编程实现以下功能: 输入一个文件夹,程序能够统计该文件夹的大小,以及该文件夹下子目录.子文件的数量. [简答题]如何正确使用食品添加剂? [简答 ...
- python鸡兔同笼编程运行结果_Python解决鸡兔同笼问题的方法
本文实例讲述了Python解决鸡兔同笼问题的方法,分享给大家供大家参考.具体分析如下: 问题描述 一个笼子里面关了鸡和兔子(鸡有 2 只脚,兔子有 4 只脚,没有例外).已经知道了笼 子里面脚的总数 ...
- python解决鸡兔同笼问题
python解决鸡兔同笼问题 参考文章: (1)python解决鸡兔同笼问题 (2)https://www.cnblogs.com/xiaolu915/p/10587499.html 备忘一下.
- python解决鸡兔同笼_Python解决鸡兔同笼问题的方法
本文实例讲述了python解决鸡兔同笼问题的方法,分享给大家供大家参考.具体分析如下: 问题描述 一个笼子里面关了鸡和兔子(鸡有 2 只脚,兔子有 4 只脚,没有例外).已经知道了笼 子里面脚的总数 ...
- 利用计算机解决鸡兔同笼问题,Python解决鸡兔同笼问题的方法
Python是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,Python的定位是"优雅"."明确".&quo ...
- 鸡兔同笼python程序怎么写_Python解决鸡兔同笼问题的方法
本文实例讲述了Python解决鸡兔同笼问题的方法,分享给大家供大家参考.具体分析如下: 问题描述 一个笼子里面关了鸡和兔子(鸡有 2 只脚,兔子有 4 只脚,没有例外).已经知道了笼 子里面脚的总数 ...
- 用python解决鸡兔同笼的问题
朋友们大家好,今天我们来用python解决鸡兔同笼的问题. 我们可以同过for循环来解决这个问题.但首先,我们得先知道有多少个头,多少个腿.所以我们先用input(). import time hea ...
- python解决鸡兔同笼问题解法_Python解决鸡兔同笼问题的方法
本文实例讲述了Python解决鸡兔同笼问题的方法,.具体分析如下: 问题描述 一个笼子里面关了鸡和兔子(鸡有 2 只脚,兔子有 4 只脚,没有例外).已经知道了笼 子里面脚的总数 a,问笼子里面至少有 ...
最新文章
- MySQL下的NoSQL解决方案HandlerSocket
- org.springframework.jdbc.BadSqlGrammarException: CallableStatementCallback; bad SQL grammar
- Git合并和变基简介:它们是什么,以及如何使用它们
- 41、应用如何签名以及签名的意义(转载)
- Golang sync
- junit5_使用JUnit对ADF应用程序进行单元测试
- redis 判断存在性_Redis如何保证接口的幂等性?
- 【Java系列】从JVM角度解析Java核心类String的不可变特性
- Linux下的RTC子系统
- linux中tcp连接内核参数调优somaxconn
- 取数函数设置向导返回值说明
- php代码显示灰色,哀悼日-实现网页变灰色的方法
- 火力发电厂与变电站设计防火标准_详细解析仓库防火设计标准
- iOS 使用NJKWebViewProgress做webview进度条(加载网页时获取加载进度)
- Github创建的个人简历
- 机器人潘森护盾_新版潘森无伤抗塔 还能抵消死歌大招?E技能护盾机制全解析...
- SDRAM-高手进阶,终极内存技术指南----学习笔记
- 龙芯电脑安装debian 10 buster
- 使用函数调用 输出三个数中的最大值,最小值
- JUNIPER路由器中常用命令总结