defqiuhe(x,y):"""
用于求和的函数。
Input:
x:接收1个实数;
y:接收1个实数。
Output:
返回x+y的计算结果
"""
z = x + y
return z
result = qiuhe(1,2)# 函数的调用
qiuhe(y=1,x=2)
3
defplay(players,step,alive):
players =int(input("总共几人:"))
step =int(input("数到几淘汰:"))
alive =int(input("最后剩余几人:"))
t =[i for i inrange(1,players+1)]
k =0whilelen(t)>alive:
i =0while i<len(t):
k +=1if k == step:
t.remove(t[i])
k =0else:
i +=1return t
"""
模拟约瑟夫环问题的函数
players:玩家人数
step:数到step数字的人淘汰
alive:幸存人数,即游戏结束
t:返回一个列表,列表中元素为幸存者编号
"""defplay(players,step,alive):
t =[i for i inrange(1,players+1)]
k =0whilelen(t)>alive:
i =0while i<len(t):
k +=1if k == step:
t.remove(t[i])
k =0else:
i +=1return t