Python约瑟夫生者死者小游戏实例讲解


Posted in Python onJanuary 04, 2021

问题描述:

30 个人在一条船上,超载,需要 15 人下船。于是人们排成一队,排队的位置即为他们的编号。

报数,从 1 开始,数到 9 的人下船。如此循环,直到船上仅剩 15 人为止,问都有哪些编号的人下船了呢?

解决思路:

给30个人编号1-30,每个人的初值都是1(在船上),i代表他们的编号,j代表被扔下船的人数(j=15时循环结束),用check记数,check=9时将对应编号i的人置0(扔下船)并让check重新记数。

当i等于31时,手动将i置为1

当对应编号i的人值为0时,代表此人已经不在船上,i+1找到下一个人记数,以此类推。

people={}
for x in range(1,31):
  people[x]=1
# print(people)
check=0
i=1
j=0
while i<=31:
  if i == 31:
    i=1
  elif j == 15:
    break
  else:
    if people[i] == 0:
      i+=1
      continue
    else:
      check+=1
      if check == 9:
        people[i]=0
        check = 0
        print("{}号下船了".format(i))
        j+=1
      else:
        i+=1
        continue

执行以上实例,输出结果为:

9号下船了
18号下船了
27号下船了
6号下船了
16号下船了
26号下船了
7号下船了
19号下船了
30号下船了
12号下船了
24号下船了
8号下船了
22号下船了
5号下船了
23号下船了

到此这篇关于Python约瑟夫生者死者小游戏实例讲解的文章就介绍到这了,更多相关Python 约瑟夫生者死者小游戏内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python break语句详解
Mar 11 Python
从零学python系列之浅谈pickle模块封装和拆封数据对象的方法
May 23 Python
Python的另外几种语言实现
Jan 29 Python
Python 实现引用其他.py文件中的类和类的方法
Apr 29 Python
浅谈python写入大量文件的问题
Nov 09 Python
Python中使用pypdf2合并、分割、加密pdf文件的代码详解
May 21 Python
pyqt5 获取显示器的分辨率的方法
Jun 18 Python
python利用openpyxl拆分多个工作表的工作簿的方法
Sep 27 Python
将python包发布到PyPI和制作whl文件方式
Dec 25 Python
基于Keras中Conv1D和Conv2D的区别说明
Jun 19 Python
Python 如何调试程序崩溃错误
Aug 03 Python
Django通过设置CORS解决跨域问题
Nov 26 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
如何用 Python 处理不平衡数据集
Jan 04 #Python
You might like
PHP新手上路(十)
2006/10/09 PHP
分享PHP入门的学习方法
2007/01/02 PHP
Mac系统下使用brew搭建PHP(LNMP/LAMP)开发环境
2015/03/03 PHP
PHP简单获取视频预览图的方法
2015/03/12 PHP
php删除文本文件中重复行的方法
2015/04/28 PHP
Laravel 框架路由原理与路由访问实例分析
2020/04/14 PHP
一段实时更新的时间代码
2006/07/07 Javascript
Js获取事件对象代码
2010/08/05 Javascript
JS获取URL中的参数数据
2013/12/05 Javascript
纯js实现div内图片自适应大小(已测试,兼容火狐)
2014/06/16 Javascript
window.location的重写及判断location是否被重写
2014/09/04 Javascript
JS实现网页表格自动变大缩小的方法
2015/03/09 Javascript
jQuery实现仿路边灯箱广告图片轮播效果
2015/04/15 Javascript
jquery可定制的在线UEditor编辑器
2015/11/17 Javascript
javascript正则表达式定义(语法)总结
2016/01/08 Javascript
JS简单循环遍历json数组的方法
2016/04/22 Javascript
jQuery深拷贝Json对象简单示例
2016/07/06 Javascript
livereload工具实现前端可视化开发【推荐】
2016/12/23 Javascript
AngularJS实现controller控制器间共享数据的方法示例
2017/10/30 Javascript
详解vue使用vue-layer-mobile组件实现toast,loading效果
2018/08/31 Javascript
单页面vue引入百度统计的使用方法示例详解
2018/10/13 Javascript
vue实现随机验证码功能(完整代码)
2019/12/10 Javascript
使用Element的InfiniteScroll 无限滚动组件报错的解决
2020/07/27 Javascript
[49:56]VG vs Optic 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
35个Python编程小技巧
2014/04/01 Python
为Python的web框架编写前端模版的教程
2015/04/30 Python
通过源码分析Python中的切片赋值
2017/05/08 Python
python人民币小写转大写辅助工具
2018/06/20 Python
HTML5 图片预加载的示例代码
2020/03/25 HTML / CSS
俄罗斯便宜的在线服装商店:GroupPrice
2020/04/10 全球购物
商场促销活动策划方案
2014/08/18 职场文书
2014年依法行政工作总结
2014/11/19 职场文书
停发工资证明范本
2015/06/12 职场文书
高中班主任工作总结(范文)
2019/08/20 职场文书
创业计划书之校园跑腿公司
2019/09/24 职场文书
利用 Python 的 Pandas和 NumPy 库来清理数据
2022/04/13 Python