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里disconnect UDP套接字的方法
Apr 23 Python
Python中基础的socket编程实战攻略
Jun 01 Python
简单的python后台管理程序
Apr 13 Python
python之pandas用法大全
Mar 13 Python
Python中一般处理中文的几种方法
Mar 06 Python
eclipse创建python项目步骤详解
May 10 Python
python模拟菜刀反弹shell绕过限制【推荐】
Jun 25 Python
Pytorch to(device)用法
Jan 08 Python
Python3.7黑帽编程之病毒篇(基础篇)
Feb 04 Python
使用卷积神经网络(CNN)做人脸识别的示例代码
Mar 27 Python
详解向scrapy中的spider传递参数的几种方法(2种)
Sep 28 Python
pdf论文中python画的图Type 3 fonts字体不兼容的解决方案
Apr 24 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
S900/ ETON E1-XM 收音机
2021/03/02 无线电
PHP实现多服务器session共享之NFS共享的方法
2007/03/16 PHP
PHP正则替换函数preg_replace和preg_replace_callback使用总结
2014/09/22 PHP
yii的CURD操作实例详解
2014/12/04 PHP
Yii框架调试心得--在页面输出执行sql语句
2014/12/25 PHP
PHP简单获取视频预览图的方法
2015/03/12 PHP
php版微信公众平台接口参数调试实现判断用户行为的方法
2016/09/23 PHP
Ext grid 添加右击菜单
2009/11/26 Javascript
ExtJs使用总结(非常详细)
2012/03/22 Javascript
使用jQuery重置(reset)表单的方法
2014/05/05 Javascript
使用GruntJS构建Web程序之Tasks(任务)篇
2014/06/06 Javascript
页面内容排序插件jSort使用方法
2015/10/10 Javascript
bootstrap实现动态进度条效果
2017/03/08 Javascript
微信小程序自定义导航隐藏和显示功能
2017/06/13 Javascript
微信小程序获取手机系统信息的方法【附源码下载】
2017/12/07 Javascript
webpack多页面开发实践
2017/12/18 Javascript
vue移动端实现红包雨效果
2020/06/23 Javascript
Angular如何由模板生成DOM树的方法
2019/12/23 Javascript
微信小程序转化为uni-app项目的方法示例
2020/05/22 Javascript
[06:53]DOTA2每周TOP10 精彩击杀集锦vol.3
2014/06/25 DOTA
[49:31]TFT vs Mski Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
浅析Python 中几种字符串格式化方法及其比较
2019/07/02 Python
python [:3] 实现提取数组中的数
2019/11/27 Python
python super函数使用方法详解
2020/02/14 Python
python 安装移动复制第三方库操作
2020/07/13 Python
台湾母婴用品购物网站:Infant婴之房
2018/06/15 全球购物
人事部主管岗位职责
2013/12/26 职场文书
韩国商务邀请函
2014/01/14 职场文书
领导干部四风问题自我剖析材料
2014/09/25 职场文书
傲慢与偏见读书笔记
2015/06/29 职场文书
2016年“抗战胜利纪念日”71周年校园广播稿
2015/12/18 职场文书
创业计划书之农家乐
2019/10/09 职场文书
聘任书的格式及模板
2019/10/28 职场文书
超详细Python解释器新手安装教程
2021/05/10 Python
WebWorker 封装 JavaScript 沙箱详情
2021/11/02 Javascript
SQL SERVER触发器详解
2022/02/24 SQL Server