鱼C论坛

 找回密码
 立即注册
查看: 764|回复: 5

while 循环的理解问题

[复制链接]
发表于 2019-1-14 16:39:51 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
请问下大家:
在这段代码中:

def gcd(x, y)
        while y:
                t = x % y
                x = y
                y = t
       
        return x
            
print(gcd(4, 6))


while y 应该怎么理解?
while 语句加一个变量应该怎么理解?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-1-14 16:50:33 | 显示全部楼层
就是传进去的变量的值如果不是等于0的话,就运行while里面的语句。如果y=0,则直接返回x的值。还有你定义函数def gcd(x, y),最后面少了一个:正确应该是这样子def gcd(x, y):
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-1-14 17:00:53 | 显示全部楼层
zdy666 发表于 2019-1-14 16:50
就是传进去的变量的值如果不是等于0的话,就运行while里面的语句。如果y=0,则直接返回x的值。还有你定义函 ...


谢谢你了。冒号忘记了。
我好像又遇上一个问题:辗转相除法好像规定的是x>=y
可是我输入变量让x<y的时候也能得到正确答案    请问怎么回事啊?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-1-14 18:10:17 | 显示全部楼层
iwanna 发表于 2019-1-14 17:46
因为是可以交换回来的,取模运算 x mod y 如果x < y得到的是x本身

明白了 谢谢!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-1-15 12:37:42 | 显示全部楼层
如果y为真,则循环,直至y不为真,退出循环。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-1-13 07:39

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表