Python約瑟夫生者死者小游戲?qū)嵗v解
問題描述:
30 個人在一條船上,超載,需要 15 人下船。于是人們排成一隊,排隊的位置即為他們的編號。
報數(shù),從 1 開始,數(shù)到 9 的人下船。如此循環(huán),直到船上僅剩 15 人為止,問都有哪些編號的人下船了呢?
解決思路:
給30個人編號1-30,每個人的初值都是1(在船上),i代表他們的編號,j代表被扔下船的人數(shù)(j=15時循環(huán)結(jié)束),用check記數(shù),check=9時將對應(yīng)編號i的人置0(扔下船)并讓check重新記數(shù)。
當(dāng)i等于31時,手動將i置為1
當(dāng)對應(yīng)編號i的人值為0時,代表此人已經(jīng)不在船上,i+1找到下一個人記數(shù),以此類推。
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
執(zhí)行以上實例,輸出結(jié)果為:
9號下船了
18號下船了
27號下船了
6號下船了
16號下船了
26號下船了
7號下船了
19號下船了
30號下船了
12號下船了
24號下船了
8號下船了
22號下船了
5號下船了
23號下船了
到此這篇關(guān)于Python約瑟夫生者死者小游戲?qū)嵗v解的文章就介紹到這了,更多相關(guān)Python 約瑟夫生者死者小游戲內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- python實現(xiàn)滑雪者小游戲
- 教你用Python實現(xiàn)一個輪盤抽獎小游戲
- python實現(xiàn)21點小游戲
- 教你用Python寫一個植物大戰(zhàn)僵尸小游戲
- 教你如何用python開發(fā)一款數(shù)字推盤小游戲
- python反編譯教程之2048小游戲?qū)嵗?/a>
- Python實現(xiàn)我的世界小游戲源代碼
- Python實現(xiàn)簡單的2048小游戲
- 基于Python-Pycharm實現(xiàn)的猴子摘桃小游戲(源代碼)
- 用Python實現(xiàn)童年貪吃蛇小游戲功能的實例代碼
- 利用python制作拼圖小游戲的全過程
- 利用python如何實現(xiàn)貓捉老鼠小游戲
- 學(xué)會用Python實現(xiàn)滑雪小游戲,再也不用去北海道啦
相關(guān)文章
基于pyinstaller超級加密操作(加殼和轉(zhuǎn)c)
這篇文章主要介紹了基于pyinstaller超級加密操作 (加殼和轉(zhuǎn)c),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03Python之inspect模塊實現(xiàn)獲取加載模塊路徑的方法
今天小編就為大家分享一篇Python之inspect模塊實現(xiàn)獲取加載模塊路徑的方法,具有很好的價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-10-10關(guān)于Python兩個列表進(jìn)行全組合操作的三種方式
這篇文章主要介紹了關(guān)于Python兩個列表進(jìn)行全組合操作的三種方式,兩個元組 (a, b)(c, d),則它們的組合有 a,c a,d b,c b,d,這就叫全組合,需要的朋友可以參考下2023-04-04jmeter執(zhí)行python腳本的實現(xiàn)示例
本文主要介紹了jmeter執(zhí)行python腳本的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05