python函数中的return语句一定能得到执行_Python递归函数执行return语句不正确?

我正在做一个简单的游戏,涉及两个玩家。每个玩家都有两个计数器,通过选择它们可以单独移动。玩家1有计数器1和1,而玩家2有计数器3和4。为了防止玩家移动对手的计数器,我编写了以下递归函数。在

如果没有人“作弊”的话,效果很好。在

如果玩家作弊,函数会让他们重新输入正确的计数器号码。如预期,这将一直持续到最终的收益表。在

然而,此时它并没有返回正确的计数器编号,而是采取了另一个步骤,并将其更改为初始的错误值。这就好像代码记住了在递归过程中尝试过的变量计数器的所有值,并在最后循环这些值,然后返回第一个值。在

我错过了什么?在def get_counter(current_player):

counter = int(input("Select which counter you want to move."))

if counter != 1 and counter != 2 and current_player == 1:

print("This is not your counter")

print("Your counters are 1 or 2")

get_counter(current_player)

elif counter != 3 and counter != 4 and current_player == 2:

print("This is not your counter")

print("Your counters are 3 or 4")

get_counter(current_player)

return counter

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值