欢迎你来到站长在线的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种方法相关推荐

  1. 利用Python语言编程,解决鸡兔同笼问题,已知同一个笼子里鸡和兔总共有h只,鸡和兔的脚数总共有f只,其中h和f需要用户输入,求鸡和兔各有多少只。

    利用Python语言编程,解决鸡兔同笼问题,已知同一个笼子里鸡和兔总共有h只,鸡和兔的脚数总共有f只,其中h和f需要用户输入,求鸡和兔各有多少只. 提示:利用循环,采用枚举法. 要求:当输入的h和f没 ...

  2. python求鸡兔同笼 鸡兔总数鸡兔腿_编程解决鸡兔同笼的问题:假设共有鸡、兔30只,脚90只,求鸡、兔各有多少只? 提交代码和截图_学小易找答案...

    [判断题]链路是指两个相邻节点之间的通信线路 [简答题]编程实现以下功能: 输入一个文件夹,程序能够统计该文件夹的大小,以及该文件夹下子目录.子文件的数量. [简答题]如何正确使用食品添加剂? [简答 ...

  3. python鸡兔同笼编程运行结果_Python解决鸡兔同笼问题的方法

    本文实例讲述了Python解决鸡兔同笼问题的方法,分享给大家供大家参考.具体分析如下: 问题描述 一个笼子里面关了鸡和兔子(鸡有 2 只脚,兔子有 4 只脚,没有例外).已经知道了笼 子里面脚的总数 ...

  4. python解决鸡兔同笼问题

    python解决鸡兔同笼问题 参考文章: (1)python解决鸡兔同笼问题 (2)https://www.cnblogs.com/xiaolu915/p/10587499.html 备忘一下.

  5. python解决鸡兔同笼_Python解决鸡兔同笼问题的方法

    本文实例讲述了python解决鸡兔同笼问题的方法,分享给大家供大家参考.具体分析如下: 问题描述 一个笼子里面关了鸡和兔子(鸡有 2 只脚,兔子有 4 只脚,没有例外).已经知道了笼 子里面脚的总数 ...

  6. 利用计算机解决鸡兔同笼问题,Python解决鸡兔同笼问题的方法

    Python是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,Python的定位是"优雅"."明确".&quo ...

  7. 鸡兔同笼python程序怎么写_Python解决鸡兔同笼问题的方法

    本文实例讲述了Python解决鸡兔同笼问题的方法,分享给大家供大家参考.具体分析如下: 问题描述 一个笼子里面关了鸡和兔子(鸡有 2 只脚,兔子有 4 只脚,没有例外).已经知道了笼 子里面脚的总数 ...

  8. 用python解决鸡兔同笼的问题

    朋友们大家好,今天我们来用python解决鸡兔同笼的问题. 我们可以同过for循环来解决这个问题.但首先,我们得先知道有多少个头,多少个腿.所以我们先用input(). import time hea ...

  9. python解决鸡兔同笼问题解法_Python解决鸡兔同笼问题的方法

    本文实例讲述了Python解决鸡兔同笼问题的方法,.具体分析如下: 问题描述 一个笼子里面关了鸡和兔子(鸡有 2 只脚,兔子有 4 只脚,没有例外).已经知道了笼 子里面脚的总数 a,问笼子里面至少有 ...

最新文章

  1. MySQL下的NoSQL解决方案HandlerSocket
  2. org.springframework.jdbc.BadSqlGrammarException: CallableStatementCallback; bad SQL grammar
  3. Git合并和变基简介:它们是什么,以及如何使用它们
  4. 41、应用如何签名以及签名的意义(转载)
  5. Golang sync
  6. junit5_使用JUnit对ADF应用程序进行单元测试
  7. redis 判断存在性_Redis如何保证接口的幂等性?
  8. 【Java系列】从JVM角度解析Java核心类String的不可变特性
  9. Linux下的RTC子系统
  10. linux中tcp连接内核参数调优somaxconn
  11. 取数函数设置向导返回值说明
  12. php代码显示灰色,哀悼日-实现网页变灰色的方法
  13. 火力发电厂与变电站设计防火标准_详细解析仓库防火设计标准
  14. iOS 使用NJKWebViewProgress做webview进度条(加载网页时获取加载进度)
  15. Github创建的个人简历
  16. 机器人潘森护盾_新版潘森无伤抗塔 还能抵消死歌大招?E技能护盾机制全解析...
  17. SDRAM-高手进阶,终极内存技术指南----学习笔记
  18. 龙芯电脑安装debian 10 buster
  19. 使用函数调用 输出三个数中的最大值,最小值
  20. JUNIPER路由器中常用命令总结

热门文章

  1. 从零开始的单片机学习(九)
  2. KDZD绝缘油介质损耗电阻率测试仪特点
  3. 简单的连接数据库的Web登录界面
  4. Python方括号、花括号和圆括号的用法总结
  5. 如何启动G6信息门户信息服务器,有备无患,用G6 FTP自定义SITE远程重启服务器...
  6. 最近几年,国内好多家实体企业都开始用上低代码了,它有什么好?
  7. STM32 MQTT协议 连接中国移动OneNet服务器 上传接收数据(二)MQTT协议常用报文详解
  8. 如何清理C盘User文件夹
  9. python操作系统启动_Python实现查看系统启动项功能示例
  10. FastReport实现预览