Mini-jeu Python Josephus des vivants et des morts
30 personnes sont sur un bateau, il est surchargé, et 15 personnes doivent débarquer.
Ils se mettent donc en file d'attente, et leur position dans la file est leur numéro.
Comptez à partir de 1 ; la personne qui compte jusqu'à 9 descend du bateau.
Répétez ce cycle jusqu'à ce qu'il ne reste que 15 personnes sur le bateau. Quelles personnes numérotées sont descendues ?
Exemples
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("No.{} got off the boat".format(i))
j+=1
else:
i+=1
continue
Exécutez l'exemple ci-dessus, et le résultat de sortie est:
9号下船了 18号下船了 27号下船了 6号下船了 16号下船了 26号下船了 7号下船了 19号下船了 30号下船了 12号下船了 24号下船了 8号下船了 22号下船了 5号下船了 23号下船了Autres extensions
Exemples Python3