当前位置:首页 > 建站过程 > 正文内容

Python 约瑟夫生者死者小游戏

暮看云3年前 (2022-09-26)建站过程375

题目:

30 个人在一条船上,超载,需要 15 人下船。

于是人们排成一队,排队的位置即为他们的编号。

报数,从 1 开始,数到 9 的人下船。

如此循环,直到船上仅剩 15 人为止,问都有哪些编号的人下船了呢?

网上的答案感觉可读性差,于是重新写的代码:

list = []

for x in range(1,31):

list.append(x)

print("大家依次排成一排:")

print(list)

print("开始下船,喊道9的出列----")

j = 0 #从1数到9,如此 反复。。。

i = 0 #列表中的序号,对列表操作要用到

left = 0 #表示离开的人

# print("开始排序号:",j)

while left < 15: #因为要求只能剩下15人,这里表示离开的人如果小于15人就继续。。。

j += 1

i += 1

# print("---------我是分隔符--------")

# print("开始报数,j=",j)

# print('序号i=', i)

# print("叫到的号是:",list[i-1])

    if j == 9:  #当数到9的时候就开始扔,

    Lnum = list[i-1]

    print(Lnum,"号下船了。")

    list.remove(Lnum)

    left += 1

    j = 0

    i -= 1#当列表中元素被删除后,后面的元素要往前移动,这里表示序号往前补上

# print("---------我是分隔符--------")

    if (i+left) == 30:#因为列表删除了元素,i表示的序号就少了,加上离开的人数刚好30.i是递增的,

# print("剩下的队伍是:")

# print(list)

    i = 0#加到最后,表示序号到最后,这一轮列表已经到末尾了,又从新来

此前对i的操作用过 for i in list,但发现遍历的方法无法对其中的i进行操作。





分享给朋友:

“Python 约瑟夫生者死者小游戏” 的相关文章

你能否拼过“二代”们

你能否拼过“二代”们

小雕这次数学考试得了99+20,错了一道选择题,还是有点马虎大意,稍有遗憾,但还行,毕竟全部做出来了。相比上次考的85,进步很多。上一次数学单元测验考的不好,我们大人总结出的原因是,两位数的竖式乘法没有掌握,是根本原理都不懂。我让她做了几道题,发现她完全没明白原理,不知道上课开啥小差了。经过一晚上的...

AI爆发,人人都能玩GPT

AI爆发,人人都能玩GPT

事情要从一个月前说起,没年这时候,公司基本上就没什么事了,行业原因,淡季时候,大家也就是上上网,等着年底分产值,过年。来公司两年半了,历经两个春节,这是第三个,第一年的世间要长一些,我用了两个月世间,学了PHP,用ThinkPHP6.0,搭建了网站,天哪,这是什么操作。这样的周期,在一个月前开始。人...

服务器搭建aria2 折腾有感

服务器搭建aria2 折腾有感

鉴于不舍得给阿里盘充值的原因,总得解决下载问题。网盘资源还可以倒腾到移动网盘,但如果阿里盘上没有,是不是还得到其它地方去下载,于是,BT下载映入眼帘。说起BT,读书那会是用的非常熟练,毕竟学校所处的这个教育网怎么都不缺文件种子,整个不要钱的PT私服。我下载了Motrix,但是资源下载速度慢得很,只有...

微软是多么希望我系统更新

微软是多么希望我系统更新

最早接触win10还是在五年前的工地上,那时候是带着自己的私人笔记本电脑,预装的win10系统。工地上灰尘多,总显得电脑卡顿,而时不时弹跳出的系统更新会让焦躁的心情更加烦闷。因为地域的原因造成的网速慢,长时间暂用系统线程,我还是选择关闭自动更新。若放在win7及以前,在控制面版简单设置下就一键管理了...

网盘限速了

网盘限速了

搭建alist的目的,就是为了将几个网盘实现互联。阿里云盘不支持免费会员在线播放高清后,就想着捣鼓到其它网盘。晃了一圈,目前也就移动云网号称“不限速”了。但是用alist从阿里云盘向移动云盘复制地很慢,甚至要整晚的时间。通过客户端测试发现,阿里云盘偶有限速100k的现象,且经常断点。而号称永不限速的...