程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

約瑟夫生者死者小游戲,python實現

編輯:Python

30 個人在一條船上,超載,需要 15 人下船。於是人們排成一隊,排隊的位置即為他們的編號。

報數,從 1 開始,數到 9 的人下船。如此循環,直到船上僅剩 15 人為止,問都有哪些編號的人下船了呢?

解決方法:

  1. 把編號存在一個列表裡list_peple=list(range(1,31))
  2. 訪問第一個元素,把第一個移到最後一個;重復該步驟8次;第9次的時候直接刪除“頭”元素
  3. 重復第2步,直到刪除了15個元素

python代碼:

remove_sum=15
remove_num=9
remove_list=[] #將要移出去的號碼放在該列表中
list_peple=list(range(1,31))#創建1-30編號
r_sum=0 #移出去的人數
while r_sum<remove_sum:
r_num=1 #訪問到第幾個人
while r_num<remove_num:
first=list_peple.pop(0) #將列表的第一個元素刪除並返回刪除的元素
list_peple.append(first) #把刪除的元素放在列表的最後
r_num=r_num+1
first=list_peple.pop(0)
remove_list.append(first)#第9個,把刪除的元素放在remove_list列表的最後
r_sum+=1

結果:

list_peple
[25, 28, 29, 1, 2, 3, 4, 10, 11, 13, 14, 15, 17, 20, 21]
remove_list
[9, 18, 27, 6, 16, 26, 7, 19, 30, 12, 24, 8, 22, 5, 23]


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved