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

Python 约瑟夫生者死者小游戏

暮看云2年前 (2022-09-26)建站过程171

题目:

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,进步很多。上一次数学单元测验考的不好,我们大人总结出的原因是,两位数的竖式乘法没有掌握,是根本原理都不懂。我让她做了几道题,发现她完全没明白原理,不知道上课开啥小差了。经过一晚上的...

万盘互联的Alist

万盘互联的Alist

也不知道是在什么场景下,意外发现了Alist。也不是多么新鲜的玩意,应该很多人用过了。软件本意是搭建一个网盘管理系统,整合市面上的多家网盘,如此不需要所有的网盘都安装客户端,又便于集中管理,网盘间还能相互传输,主打一个方便与整洁。我学习Alist,主要是因为前几天阿里云盘发布消息,将对免费会员降速,...

投屏电视,电影才看得爽

投屏电视,电影才看得爽

前两天,在自个儿的主机上搭建了Alist,那时只想着阿里盘限速的问题。我用阿里盘除了存储,就是在线电影。有时候转存了一部电影,会和家人一起投屏到客厅的大电视上,如果是4K高清片源,那观影效果会有很大提高。之前阿里盘不限速,家里2M带宽,是可以满足使用要求的。现在限速后,至少在手机、电脑上高清选项是需...

服务器搭建aria2 折腾有感

服务器搭建aria2 折腾有感

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