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提示No module named images的解决方法
Sep 29 Python
python 读取目录下csv文件并绘制曲线v111的方法
Jul 06 Python
Python 监测文件是否更新的方法
Jun 10 Python
Django框架序列化与反序列化操作详解
Nov 01 Python
Python 中使用 PyMySQL模块操作数据库的方法
Nov 10 Python
Python 根据数据模板创建shapefile的实现
Nov 26 Python
使用pytorch实现可视化中间层的结果
Dec 30 Python
Python文件读写w+和r+区别解析
Mar 26 Python
使用 django orm 写 exists 条件过滤实例
May 20 Python
Numpy实现卷积神经网络(CNN)的示例
Oct 09 Python
Python实现随机生成迷宫并自动寻路
Jun 13 Python
Python 统计序列中元素的出现频度
Apr 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
迅雷下载《中学科技》怀旧期刊下载
2021/02/27 无线电
深入了解PHP中的Array数组和foreach
2016/11/06 PHP
PHP实现ASCII码与字符串相互转换的方法
2017/04/29 PHP
jQuery 常见操作实现方式和常用函数方法总结
2011/05/06 Javascript
js 静态动态成员 and 信息的封装和隐藏
2011/05/29 Javascript
当某个文本框成为焦点时即清除文本框内容
2014/04/28 Javascript
jquery动态遍历Json对象的属性和值的方法
2016/07/27 Javascript
浅谈js中的引用和复制(传值和传址)
2016/09/18 Javascript
把json格式的字符串转换成javascript对象或数组的方法总结
2016/11/03 Javascript
JS访问DOM节点方法详解
2016/11/29 Javascript
深入浅出webpack教程系列_安装与基本打包用法和命令参数详解
2017/09/10 Javascript
javascript 判断用户有没有操作页面
2017/10/17 Javascript
解决vue处理axios post请求传参的问题
2018/03/05 Javascript
详解Vue中使用Echarts的两种方式
2018/07/03 Javascript
详解js模板引擎art template数组渲染的方法
2018/10/09 Javascript
js canvas实现橡皮擦效果
2018/12/20 Javascript
vue-test-utils初使用详解
2019/05/23 Javascript
微信小程序表单验证WxValidate的使用
2019/11/27 Javascript
Flask SQLAlchemy一对一,一对多的使用方法实践
2013/02/10 Python
Python程序设计入门(4)模块和包
2014/06/16 Python
python开发之for循环操作实例详解
2015/11/12 Python
Python利用Beautiful Soup模块搜索内容详解
2017/03/29 Python
Python实现求一个集合所有子集的示例
2018/05/04 Python
使用Python处理BAM的方法
2018/09/28 Python
PyQt5实现简易计算器
2020/05/30 Python
Pycharm 2020.1 版配置优化的详细教程
2020/08/07 Python
python实现图片转换成素描和漫画格式
2020/08/19 Python
存储过程和sql语句的优缺点
2014/07/02 面试题
法律专业自我鉴定
2013/10/03 职场文书
夜班门卫岗位职责
2013/12/09 职场文书
法制宣传教育方案
2014/05/09 职场文书
预备党员介绍人意见
2015/06/01 职场文书
学术研讨会主持词
2015/07/04 职场文书
Pytorch实现图像识别之数字识别(附详细注释)
2021/05/11 Python
redis三种高可用方式部署的实现
2021/05/11 Redis
quickjs 封装 JavaScript 沙箱详情
2021/11/02 Javascript