python循环判定不成立了还在一直循环,将不一样的值作参数输入函数后却还是原来的值?
python 中,函数内部修改的形参,并不会改变函数外部实参的值。 以题目中例子为例,首次满足xn==xn2和yn==yn2时,自然不会执行while循环内的huisu函数,于是退出huisu(定义这一层huisu为A),也就是退出到该层嵌套函数,此时,到达一个外层huisu(定义这一层huisu为B),此时在while循环中,这个时候,xn2是85,yn2就是447。 说白了,就是A中的yn2虽然为448,但B中的yn2始终是447,再外一层的huisu两个数字就分别是85和446,以此类推。 于是乎,此时,程序会一直在B中执行while循环,不断输出同样的数字,永远不会退出。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。