欢迎光临
我们一直在努力

Day:实现一个报数小游戏

"""
实现一个报数小游戏:
有N个人围成一圈顺序报号,从第一个人开始报数(从1到3),报到3的人退出圈子,最后留下的是原来的第几号。
"""

'''
程序运行示咧
输入:
输入总人数:25
输出:
最后留下的认识原来的第14号
'''

# 这个程序模拟了一个游戏过程,其中总人数被输入,然后通过一定规则排除一些人,最后留下一个人。
# 输入总人数:无
# 返回值:无

tal = int(input("输入总人数:")) # 获取输入的总人数
arr = [True] * tal # 创建一个布尔列表,初始状态都为True,用于标记每个人的状态(是否被留下)
num = 1 # 初始化一个计数器,用于追踪当前的步骤
cot = 0 # 初始化一个计数器,用于记录已经排除的人数
pos = 0 # 初始化一个指针,用于指向当前操作的位置

# 循环,直到剩下最后一个人
while cot < tal - 1:
if pos > tal - 1: # 如果指针超出列表范围,将其重置为0
pos = 0
if not arr[pos]: # 如果当前位置的人已经被排除,则跳过
pos += 1
continue
if num == 3: # 当计数器为3时,将当前位置的人排除,并重置计数器和位置
num = 1
arr[pos] = False
pos += 1
cot += 1

else: # 如果计数器不为3,则递增计数器和位置
num += 1
pos += 1

# 遍历布尔列表,找到最后留下的人,并输出其原始编号
for item in enumerate(arr):
if item[1]:
print("最后留下的认识原来的第%d号" % (item[0] + 1))
break
赞(0) 打赏
未经允许不得转载:创想未来 » Day:实现一个报数小游戏

评论 抢沙发

评论前必须登录!

 

更好的Python学习

支持快讯、专题、百度收录推送、人机验证、多级分类筛选器,适用于垂直站点、科技博客、个人站,扁平化设计、简洁白色、超多功能配置、会员中心、直达链接、文章图片弹窗、自动缩略图等...

联系我们联系我们

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册