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的几条建议分享
Feb 10 Python
Flask框架学习笔记(一)安装篇(windows安装与centos安装)
Jun 25 Python
Python入门篇之编程习惯与特点
Oct 17 Python
Python 基础之字符串string详解及实例
Apr 01 Python
python+opencv实现动态物体识别
Jan 09 Python
浅谈配置OpenCV3 + Python3的简易方法(macOS)
Apr 02 Python
django加载本地html的方法
May 27 Python
在python中利用GDAL对tif文件进行读写的方法
Nov 29 Python
Python小工具之消耗系统指定大小内存的方法
Dec 03 Python
Python爬虫 bilibili视频弹幕提取过程详解
Jul 31 Python
简单了解为什么python函数后有多个括号
Dec 19 Python
详解基于Jupyter notebooks采用sklearn库实现多元回归方程编程
Mar 25 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写的基于Memcache的Queue实现代码
2011/11/27 PHP
phpExcel导出大量数据出现内存溢出错误的解决方法
2013/02/28 PHP
PHP使用header()输出图片缓存实例
2014/12/09 PHP
PHP Yii框架之表单验证规则大全
2015/11/16 PHP
php生成mysql的数据字典
2016/07/07 PHP
php框架CI(codeigniter)自动加载与自主创建对象操作实例分析
2020/06/06 PHP
jQuery 全选/反选以及单击行改变背景色实例
2013/07/02 Javascript
通过length属性判断jquery对象是否存在
2013/10/18 Javascript
微信浏览器内置JavaScript对象WeixinJSBridge使用实例
2015/05/25 Javascript
完美实现bootstrap分页查询
2015/12/09 Javascript
javascript高级选择器querySelector和querySelectorAll全面解析
2016/04/07 Javascript
JavaScript数组push方法使用注意事项
2017/10/30 Javascript
Angular模版驱动表单的使用总结
2018/05/05 Javascript
layer弹窗在键盘按回车将反复刷新的实现方法
2019/09/25 Javascript
vue项目中监听手机物理返回键的实现
2020/01/18 Javascript
jQuery使用ajax传递json对象到服务端及contentType的用法示例
2020/03/12 jQuery
python利用dir函数查看类中所有成员函数示例代码
2017/09/08 Python
Python编程实现双链表,栈,队列及二叉树的方法示例
2017/11/01 Python
Python 中PyQt5 点击主窗口弹出另一个窗口的实现方法
2019/07/04 Python
python3的print()函数的用法图文讲解
2019/07/16 Python
pytorch 获取tensor维度信息示例
2020/01/03 Python
python 实现弹球游戏的示例代码
2020/11/17 Python
css3.0 图形构成实例练习二
2013/03/19 HTML / CSS
一款纯css3实现的竖形二级导航的实例教程
2014/12/11 HTML / CSS
canvas实现飞机打怪兽射击小游戏的示例代码
2018/07/09 HTML / CSS
Feelunique德国官方网站:欧洲最大的在线美容零售商
2019/07/20 全球购物
编写一子程序,将一链表倒序,即使链表表尾变表头,表头变表尾
2016/02/10 面试题
大学生职业规划前言模板
2013/12/27 职场文书
法定代表人授权委托书
2014/09/19 职场文书
谢师宴邀请函
2015/02/02 职场文书
你为什么是穷人?可能是这5个缺点造成
2019/07/11 职场文书
python中super()函数的理解与基本使用
2021/08/30 Python
万能密码的SQL注入漏洞其PHP环境搭建及防御手段
2021/09/04 SQL Server
Mac电脑OS系统下安装Nginx的详细教程
2022/04/14 Servers
MySQL示例讲解数据库约束以及表的设计
2022/06/16 MySQL
PostgreSQL之连接失败的问题及解决
2023/05/08 PostgreSQL