python题库选择填空_python练习题4.18猴子选大王
一群猴子要選新猴王。新猴王的選擇方法是:讓n只候選猴子圍成一圈,從某位置起順序編號(hào)為1~n號(hào)。從第1號(hào)開(kāi)始報(bào)數(shù),每輪從1報(bào)到3,凡報(bào)到3的猴子即退出圈子,接著又從緊鄰的下一只猴子開(kāi)始同樣的報(bào)數(shù)。如此不斷循環(huán),最后剩下的一只猴子就選為猴王。請(qǐng)問(wèn)是原來(lái)第幾號(hào)猴子當(dāng)選猴王?
輸入格式:
輸入在一行中給一個(gè)正整數(shù)n(≤1000)。
輸出格式:
在一行中輸出當(dāng)選猴王的編號(hào)。
代碼如下:(官方代碼)
#!/usr/bin/python
# -*- coding: utf-8 -*-
n=int(input())
ls=[i for i in range(1,n+1)]
step=2 #步長(zhǎng)
ptr=1
while len(ls) > 1:
#ptr表示列表中第幾個(gè)元素,沒(méi)有第0個(gè)元素,只有下標(biāo)為0的元素
ptr=(ptr+step-1)%len(ls)+1
#ptr 是 下一個(gè)開(kāi)始的位數(shù)
del ls[ptr-1]
print(ls[0])
這個(gè)程序的難點(diǎn)就在于ptr=(ptr+step-1)%len(ls)+1這句代碼,說(shuō)實(shí)話,我現(xiàn)在都不是特別特別明白。
下面是官方討論鏈接,大家可看看。
讀書(shū)和健身總有一個(gè)在路上
如您對(duì)本文有疑問(wèn)或者有任何想說(shuō)的,請(qǐng)點(diǎn)擊進(jìn)行留言回復(fù),萬(wàn)千網(wǎng)友為您解惑!
總結(jié)
以上是生活随笔為你收集整理的python题库选择填空_python练习题4.18猴子选大王的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 王凤英为小鹏汽车立百万年销目标引争议 但
- 下一篇: python绘制散点图、如何选两列作为横