Python经典五人分鱼实例讲解


Posted in Python onJanuary 04, 2021

A、B、C、D、E 五人在某天夜里合伙去捕鱼,到第二天凌晨时都疲惫不堪,于是各自找地方睡觉。

日上三杆,A 第一个醒来,他将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份。

B 第二个醒来,也将鱼分为五份,把多余的一条鱼扔掉拿走自己的一份。 。

C、D、E依次醒来,也按同样的方法拿鱼。

问他们至少捕了多少条鱼?

def main():
  fish = 1
  while True:
    total, enough = fish, True
    for _ in range(5):
      if (total - 1) % 5 == 0:
        total = (total - 1) // 5 * 4
      else:
        enough = False
        break
    if enough:
      print(f'总共有{fish}条鱼')
      break
    fish += 1


if __name__ == '__main__':
  main()

实例扩展:

#Python3 实例--Python 五人分鱼
print("Python3 实例--Python 五人分鱼")

#原则:

'''日上三杆,A 第一个醒来,他将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份。

B 第二个醒来,也将鱼分为五份,把多余的一条鱼扔掉拿走自己的一份。 。

C、D、E依次醒来,也按同样的方法拿鱼。

问他们台伙至少捕了多少条鱼?(x)
A:(x-1)/5
B:(x-((x-1)/5)-1)/5
C:(x-((x-1)/5)-((x-((x-1)/5)-1)/5)-1)/5
D:(x-((x-1)/5)-((x-((x-1)/5)-1)/5)-((x-((x-1)/5)-((x-((x-1)/5)-1)/5)-1)/5)-1)
E:(x-((x-1)/5)-((x-((x-1)/5)-1)/5)-((x-((x-1)/5)-((x-((x-1)/5)-1)/5)-1)/5)-((x-((x-1)/5)-((x-((x-1)/5)-1)/5)-((x-((x-1)/5)-((x-((x-1)/5)-1)/5)-1)/5)-1))-1)
'''



def main():
  fish = 1
  while True:
    #默认鱼的数量是够分的,enough = True
    total, enough = fish, True
    #循环步骤:每一个人都按照相同的原则分鱼
    for _ in range(5):
      #"_"符号在循环中不会用到,起的是循环次数的作用,可以看作和i,j是等效的
      #如果正好够5个人分,不需要扔掉一条
      if (total - 1) % 5 == 0:
        #除了第一个人,剩下的鱼的总数为:(total - 1) // 5 * 4,
        # 但是此时流程还没有走完,还未计算鱼的总数
        total = (total - 1) // 5 * 4
      #如果不够一个人分,enough = False,
      # 说明鱼的数量不是最少的,还需要每一个重复步骤上加一条,跳出循环
      else:
        enough = False
        break

    #判断鱼是不是够分,而且鱼的总数取的是最小值
    if enough:

      #若是,输出鱼的总数,结束程序
      print(f'总共有{fish}条鱼')
      break
    #鱼的数量循环加1
    fish += 1


main()

到此这篇关于Python经典五人分鱼实例讲解的文章就介绍到这了,更多相关Python 五人分鱼内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python多进程分块读取超大文件的方法
Apr 13 Python
详解duck typing鸭子类型程序设计与Python的实现示例
Jun 03 Python
python做量化投资系列之比特币初始配置
Jan 23 Python
Python使用xlwt模块操作Excel的方法详解
Mar 27 Python
PyQt5每天必学之关闭窗口
Apr 19 Python
Python学习笔记之函数的定义和作用域实例详解
Aug 13 Python
Python Django实现layui风格+django分页功能的例子
Aug 29 Python
通过python连接Linux命令行代码实例
Feb 18 Python
python环境下安装opencv库的方法
Mar 05 Python
Python return语句如何实现结果返回调用
Oct 15 Python
基于Python实现粒子滤波效果
Dec 01 Python
PyQt5结合QtDesigner实现文本框读写操作
Jun 11 Python
Python约瑟夫生者死者小游戏实例讲解
Jan 04 #Python
python邮件中附加文字、html、图片、附件实现方法
Jan 04 #Python
python自动化发送邮件实例讲解
Jan 04 #Python
Python Selenium库的基本使用教程
Jan 04 #Python
selenium学习教程之定位以及切换frame(iframe)
Jan 04 #Python
python自动打开浏览器下载zip并提取内容写入excel
Jan 04 #Python
python Scrapy框架原理解析
Jan 04 #Python
You might like
php iconv() : Detected an illegal character in input string
2010/12/05 PHP
使用PHP similar text计算两个字符串相似度
2015/11/06 PHP
PHP判断手机是IOS还是Android
2015/12/09 PHP
利用php实现一周之内自动登录存储机制(cookie、session、localStorage)
2016/10/31 PHP
服务端 VBScript 与 JScript 几个相同特性的写法 By shawl.qiu
2007/03/06 Javascript
基于JQuery实现CheckBox全选全不选
2011/06/27 Javascript
jQuery.prototype.init选择器构造函数源码思路分析
2013/02/05 Javascript
js动态移动滚动条至底部示例代码
2014/04/24 Javascript
css与javascript跨浏览器兼容性总结
2014/09/15 Javascript
Javascript监视变量变化的方法
2015/06/09 Javascript
jquery trigger实现联动的方法
2016/02/29 Javascript
让你彻底掌握es6 Promise的八段代码
2017/07/26 Javascript
微信小程序onLaunch异步,首页onLoad先执行?
2018/09/20 Javascript
jQuery访问json文件中数据的方法示例
2019/01/28 jQuery
Vue 3.x+axios跨域方案的踩坑指南
2019/07/04 Javascript
vue 全局环境切换问题
2019/10/27 Javascript
vue子传父关于.sync与$emit的实现
2019/11/05 Javascript
js中的面向对象之对象常见创建方法详解
2019/12/16 Javascript
js实现页面导航层级指示效果
2020/08/25 Javascript
Vue select 绑定动态变量的实例讲解
2020/10/22 Javascript
[40:50]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS LGD第四场
2014/05/24 DOTA
python实现多线程的两种方式
2016/05/22 Python
全面了解python字符串和字典
2016/07/07 Python
简单学习Python多进程Multiprocessing
2017/08/29 Python
Python lambda函数基本用法实例分析
2018/03/16 Python
python图形开发GUI库wxpython使用方法详解
2020/02/14 Python
基于python爬取链家二手房信息代码示例
2020/10/21 Python
python在地图上画比例的实例详解
2020/11/13 Python
CSS3 background-image颜色渐变的实现代码
2018/09/13 HTML / CSS
CSS3 text shadow字体阴影效果
2016/01/08 HTML / CSS
利用HTML5+css3+jquery+weui实现仿微信聊天界面功能
2018/01/08 HTML / CSS
goodhealth官方海外旗舰店:新西兰国民营养师
2017/12/15 全球购物
酒店led欢迎词
2014/01/09 职场文书
如何将JavaScript将数组转为树形结构
2021/06/02 Javascript
利用Python实现模拟登录知乎
2022/05/25 Python
python如何为list实现find方法
2022/05/30 Python