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中的内存泄漏
Apr 23 Python
python中的闭包用法实例详解
May 05 Python
python实现读取命令行参数的方法
May 22 Python
Python函数可变参数定义及其参数传递方式实例详解
May 25 Python
VTK与Python实现机械臂三维模型可视化详解
Dec 13 Python
对python中的iter()函数与next()函数详解
Oct 18 Python
python+opencv打开摄像头,保存视频、拍照功能的实现方法
Jan 08 Python
django 控制页面跳转的例子
Aug 06 Python
python读取配置文件方式(ini、yaml、xml)
Apr 09 Python
python 对一幅灰度图像进行直方图均衡化
Oct 27 Python
python re的findall和finditer的区别详解
Nov 15 Python
Python爬取某平台短视频的方法
Feb 08 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防注入安全代码
2008/04/09 PHP
dhtmlxTree目录树增加右键菜单以及拖拽排序的实现方法
2013/04/26 PHP
destoon实现首页显示供应、企业、资讯条数的方法
2014/07/15 PHP
php中使用PHPExcel读写excel(xls)文件的方法
2014/09/15 PHP
功能强大的php文件上传类
2016/08/29 PHP
JavaScript 语言的递归编程
2010/05/18 Javascript
向当前style sheet中插入一个新的style实现方法
2013/04/01 Javascript
浅谈jQuery中hide和fadeOut的区别 show和fadeIn的区别
2016/08/18 Javascript
JavaScript中关于for循环删除数组元素内容时出现的问题
2016/11/21 Javascript
jQuery密码强度验证控件使用详解
2017/01/05 Javascript
Vuejs入门教程之Vue生命周期,数据,手动挂载,指令,过滤器
2017/04/19 Javascript
Angular2使用Angular CLI快速搭建工程(一)
2017/05/21 Javascript
Angular实现的日程表功能【可添加及隐藏显示内容】
2017/12/27 Javascript
基于Vue+element-ui 的Table二次封装的实现
2018/07/20 Javascript
vue 组件的封装之基于axios的ajax请求方法
2018/08/11 Javascript
js仿360开机效果
2019/12/26 Javascript
微信小程序聊天功能的示例代码
2020/01/13 Javascript
[01:05:40]VG vs Newbee 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
python使用正则表达式分析网页中的图片并进行替换的方法
2015/03/26 Python
Python3实现Web网页图片下载
2016/01/28 Python
Python实现二维有序数组查找的方法
2016/04/27 Python
Python的Flask框架中集成CKeditor富文本编辑器的教程
2016/06/13 Python
python django事务transaction源码分析详解
2017/03/17 Python
python中defaultdict的用法详解
2017/06/07 Python
在cmd中查看python的安装路径方法
2019/07/03 Python
python二进制文件的转译详解
2019/07/03 Python
python与mysql数据库交互的实现
2020/01/06 Python
导入tensorflow:ImportError: libcublas.so.9.0 报错
2020/01/06 Python
python opencv实现图片缺陷检测(讲解直方图以及相关系数对比法)
2020/04/07 Python
Python selenium自动化测试模型图解
2020/04/15 Python
纽约海:Sea New York
2018/11/04 全球购物
幼儿园运动会入场词
2014/02/10 职场文书
学习礼仪心得体会
2014/09/01 职场文书
同步小康驻村工作简报
2015/07/20 职场文书
用Python实现屏幕截图详解
2022/01/22 Python
Vue+Flask实现图片传输功能
2022/04/01 Vue.js