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

作者:runoob 时间:2023-02-12 02:14:25 

问题描述:

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号下船了

来源:https://www.runoob.com/python3/python-joseph-life-dead-game.html

标签:Python,约瑟夫生者死者
0
投稿

猜你喜欢

  • 利用python对Excel中的特定数据提取并写入新表的方法

    2023-09-17 16:03:10
  • Python 将RGB图像转换为Pytho灰度图像的实例

    2022-05-26 14:13:08
  • SQL Server中导入导出数据的三种方式

    2008-11-28 15:53:00
  • mysql语句实现简单的增、删、改、查操作示例

    2024-01-24 23:04:04
  • JQuery中对Select的option项的添加、删除、取值

    2024-04-22 12:59:14
  • asp如何遍历目录及目录下的文件?

    2009-11-11 17:55:00
  • 两种不同的方法实现js对checkbox进行全选和反选

    2024-04-10 16:14:50
  • 基于Python的接口自动化读写excel文件的方法

    2023-09-04 00:25:10
  • Uchome1.2 1.5 代码学习 common.php

    2023-11-15 02:56:10
  • jupyter notebook读取/导出文件/图片实例

    2022-01-05 00:28:45
  • 如何基于python对接钉钉并获取access_token

    2023-11-27 04:25:07
  • Mac下python包管理工具pip的安装

    2023-11-19 11:09:46
  • MySQL定时备份数据库操作示例

    2024-01-13 09:34:24
  • 分享一个pycharm专业版安装的永久使用方法

    2023-04-27 17:26:34
  • Python闭包和装饰器用法实例详解

    2021-04-07 10:05:02
  • Mysql如何同时交换两个表的表名详解

    2024-01-17 06:47:54
  • Oracle数据库表空间超详细介绍

    2024-01-17 16:49:22
  • Python定时执行程序问题(schedule)

    2021-07-26 14:18:22
  • Python基础教程(一)——Windows搭建开发Python开发环境

    2021-06-16 13:41:53
  • python中reload重载实例用法

    2021-05-12 07:02:09
  • asp之家 网络编程 m.aspxhome.com