鱼C论坛

 找回密码
 立即注册
查看: 1525|回复: 9

[已解决]def 函数!欧几里得算数问题

[复制链接]
发表于 2020-3-20 20:16:44 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 Twilight6 于 2020-3-29 15:08 编辑

>>>def gcd(x,y):
                while True:
                              if (x % y == 0) or (z % k == 0):
                                 return y
                                z = x % y
                          k = y % z
                         continue
        
>>>gcd(1997,615)
Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "<input>", line 3, in gcd
UnboundLocalError: local variable 'z' referenced before assignment


我一直不懂哪错了。。。
最佳答案
2020-3-20 21:01:37
Twilight6 发表于 2020-3-20 20:58
>>>def gcd(x,y):
...     z = x
...     k = y

你这个z,x,k,y都没变,能有答案才怪
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-3-20 20:17:40 | 显示全部楼层
上面发的缩进什么的没对齐别介意拷贝时候毁掉了。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-20 20:20:13 | 显示全部楼层
Twilight6 发表于 2020-3-20 20:17
上面发的缩进什么的没对齐别介意拷贝时候毁掉了。。。

你的z在if循环前面没有定义啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-20 20:58:03 | 显示全部楼层
Twilight6 发表于 2020-3-20 20:17
上面发的缩进什么的没对齐别介意拷贝时候毁掉了。。。

你的缩进毁了我怎么知道你的代码写的啥?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-20 20:58:48 | 显示全部楼层
qiuyouzhi 发表于 2020-3-20 20:20
你的z在if循环前面没有定义啊

>>>def gcd(x,y):
...     z = x
...     k = y
...     while True:
...         if (x % y == 0) or (z % k == 0):
...             return y
...         z = x % y
...         k = y % z
...         continue
...         
>>>gcd (1997,615)
之后就没反应了。。。也没有>>>出来
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-20 21:00:00 From FishC Mobile | 显示全部楼层
Twilight6 发表于 2020-3-20 20:58
>>>def gcd(x,y):
...     z = x
...     k = y

没有print你想要啥反应?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-20 21:01:37 | 显示全部楼层    本楼为最佳答案   
Twilight6 发表于 2020-3-20 20:58
>>>def gcd(x,y):
...     z = x
...     k = y

你这个z,x,k,y都没变,能有答案才怪
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-20 21:08:12 | 显示全部楼层
wp231957 发表于 2020-3-20 21:00
没有print你想要啥反应?

循环等return呀  欧几里得算术法我记得这个是等于1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-20 21:12:12 | 显示全部楼层
qiuyouzhi 发表于 2020-3-20 21:01
你这个z,x,k,y都没变,能有答案才怪

后面不是有 z = x%y 和 k=y%z吗  不是会变吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-20 21:13:34 | 显示全部楼层
Twilight6 发表于 2020-3-20 21:12
后面不是有 z = x%y 和 k=y%z吗  不是会变吗

是啊
变来变去就那几个
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-25 04:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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