Python自定义distance函数运行正常 调用后返回值始终为0原因排查
问题原因
核心问题出在playGame函数的distance调用逻辑:
- 你在
playGame中先将局部变量distanceValue初始化为0 - 调用
distance函数时没有接收它的返回值,函数计算出的正确距离结果直接被丢弃 - 后续传入
display函数的distanceValue还是最初初始化的0值,因此打印结果始终为0
补充说明:distance函数内部定义的distanceValue是函数内部的局部变量,和playGame里的distanceValue属于完全独立的两个变量,作用域互不干扰,因此函数内部的赋值不会修改playGame里的变量值。
修复方案
将playGame函数中调用distance的代码行:
distance(catRow, mouseRow, catColumn, mouseColumn)
修改为:
distanceValue = distance(catRow, mouseRow, catColumn, mouseColumn)
即可正常接收函数返回的距离结果,输出正确数值。
内容的提问来源于stack exchange,提问作者Sara
相关产品推荐
相关产品推荐

