python 函数循环调用问题
对于以下代码:
a = 666b = 1414def gcd(x, y): x, y = y, x % y while x % y > 0: gcd(x, y) else: return yprint(gcd(666, 1414))
登录后复制
目标是计算这两个数字的最大公约数。然而,代码无法运行。原因在于函数 gcd 在自身的循环体内被调用时,没有返回任何值。
为了解决这个问题,需要在 gcd 函数的循环体中添加 return 语句:
立即学习“Python免费学习笔记(深入)”;
a = 666b = 1414def gcd(x, y): x, y = y, x % y while x % y > 0: return gcd(x, y) # 此处添加了 return else: return yprint(gcd(666, 1414))
登录后复制
现在,当 gcd 在循环体内被调用时,它会返回一个值,并退出循环。这解决了循环调用问题,程序可以正常运行并计算最大公约数。
以上就是Python 函数循环调用问题:为什么 gcd 函数需要在循环体内返回?的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2477428.html