美文网首页
【基础】Python3小程序_约瑟夫生者死者小游戏

【基础】Python3小程序_约瑟夫生者死者小游戏

作者: Alyna_C | 来源:发表于2021-04-04 07:33 被阅读0次

约瑟夫生者死者小游戏

题目——

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

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

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

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


程序——

方法一:无算法运算

poeple = [] + [1] * 31

check = 0  #报数9的检查

i = 1  #列表总数31的检查

leaveN = 0  #下船人数计算

while i <= 31:

    if i == 31:

       i =1

    elif leaveN == 15:

       break

    else:

       if poeple[i] == 1:

           check +=1

           if check == 9:

                print(f'{i}号下船')

                poeple[i] =0

                check =0

                leaveN +=1

       i +=1  #无论poeple值为多少,都会执行i+1


方法二:算法队列,利用队列先进先出的原理

fromqueue importQueue

N = 30 #船上总人数

q = Queue(N)  #建立一个长度为30的堆栈

for iin range(1, N + 1):  #给堆栈赋值1~30

    q.put(i)

    #print(q.get())

check = 0  #报数检测9

leaveN = 0  #下船人数记录

whileleaveN < 15:

    check +=1

    temp = q.get()  #前进先出

    if check == 9:

        print(f'{temp}号下船')

        check =0

        leaveN +=1

    else:

        q.put(temp)  #进入队列


延伸

queue模块学习

基础使用函数

q=queue.Queue(n) #建立长度为n的先进先出队列FIFO

q=q=queue.LifoQueue(n) #建立长度为n的后进先出队列LIFO

q.put() #放入元素

q.get() #取出元素

模块其他函数https://www.ywnds.com/?p=11912

相关文章

  • 【基础】Python3小程序_约瑟夫生者死者小游戏

    约瑟夫生者死者小游戏 题目—— 30 个人在一条船上,超载,需要 15 人下船。 于是人们排成一队,排队的位置即为...

  • C-约瑟夫生者死者小游戏

    目的 通过实现约瑟夫生者死者小游戏,达到简单的掌握#define宏,动态分配内存的作用 技术 #define宏的使...

  • C语言——第三次笔记

    学习内容(涉及到后面的指针,内存部分的可以先了解性的看看)#define的使用约瑟夫生者死者小游戏(杀人游戏)实战...

  • 基于C++的约瑟夫生者死者游戏

    一、使用说明 1.1 项目简介 约瑟夫生者死者游戏的大意是:30个旅客同乘一条船,因为严重超载,加上风高浪大危险万...

  • 生者,死者

    当看到他们默默流泪,看到他们痛哭流涕,看到他们崩溃大嚎,看到他们着急昏厥,看到他们萎靡不振,我的心随着他们也有这么...

  • 死者与生者

    ___北川中学叙事 2008.05.20 2008年5月12日下午,灾难覆盖土地,覆盖北川中学的每一个角落。 整...

  • 生者与死者

    生者与死者 有些话没有说就成了永远的枷锁 。 ...

  • 生者与死者

    昏暗的天空笼罩着 微弱摇曳的烛火 凉风带起低语 在林间沉沉地低吟 躺在床榻上的是一具有气无力的腐朽 浸透了岁月的气...

  • [源码和文档分享]基于C++实现的约瑟夫生者死者游戏

    1 项目简介 约瑟夫生者死者游戏的大意是:30个旅客同乘一条船,因为严重超载,加上风高浪大危险万分;因此船长告诉乘...

  • 使用C++实现的约瑟夫生死游戏

    一、项目简介 约瑟夫生者死者游戏的大意是:30个旅客同乘一条船,因为严重超载,加上风高浪大危险万分;因此船长告诉乘...

网友评论

      本文标题:【基础】Python3小程序_约瑟夫生者死者小游戏

      本文链接:https://www.haomeiwen.com/subject/dmuahltx.html