鱼C论坛

 找回密码
 立即注册
查看: 1560|回复: 11

[已解决]17讲课后习题2 总是提示定义的yu_shu_new==0语句错误

[复制链接]
发表于 2020-3-17 12:56:05 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 猪猪虾 于 2020-3-17 13:31 编辑

#编写一个函数,利用欧几里得算法求最大公约数,
#例如gcd(x, y)返回值为参数x和参数y的最大公约数。
def judge(m,n):
    if m>n:
       yu_shu=m % n   #确保用较大的数除以较小的数
    else:
       yushu=n % m
       if yu_shu==0:
          return(m)
       if yu_shu!=0:
          time=0
          whlie yu_shu_new==0 or time>=10:    #设置循环10次是因为一般情况下,如果没有公约数,到不了10次就能判断出来,我手算了好几个例子发现的
                 yu_shu_new=n%yu_shu
                 if yu_shu_new==0:
                     return(yu_shu)
                     break
                 else:
                     n=yu_shu                   #赋值保证循环进行,直到找到余数为0
                     yu_shu=yu_shu_new
                     time+=1
                 return(n)
         
number1=int(input('enter a number:'))
number1=int(input('enter a number:'))
result=judge(number1,number1)
print('result=',result)
   
   
最佳答案
2020-3-17 13:42:03
猪猪虾 发表于 2020-3-17 13:37
a,您能把问题在哪说一下嘛,我没找到是什么问题

看你的代码:
1,第3行和第5行,一个有下划线,一个没有
2,while拼写错误
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-17 12:58:24 | 显示全部楼层
本帖最后由 qiuyouzhi 于 2020-3-17 13:25 编辑
def judge(m,n):
    if m>n:
       yu_shu=m % n
    else:
       yu_shu=n % m
       if yu_shu==0:
          return(m)
       if yu_shu!=0:
          time=0
          while yu_shu_new==0 or time>=5:
                 yu_shu_new=n%yu_shu
                 if yu_shu_new==0:
                     return yu_shu
                     break
                 else:
                     n=yu_shu
                     yu_shu=yu_shu_new
                     time+=1
                 return(n)
          
number1=int(input('enter a number:'))
number1=int(input('enter a number:'))
result=judge(number1,number1)
print('result=',result)
这代码。。。不想吐槽了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-17 13:22:52 | 显示全部楼层
qiuyouzhi 发表于 2020-3-17 12:58
这代码。。。不想吐槽了

初学者,您不用这么。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-17 13:25:33 | 显示全部楼层
猪猪虾 发表于 2020-3-17 13:22
初学者,您不用这么。。。

就是提问也得把问题发出来
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-17 13:27:04 | 显示全部楼层
qiuyouzhi 发表于 2020-3-17 13:25
就是提问也得把问题发出来

好的,不好意思,我再发一遍
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-17 13:29:51 | 显示全部楼层
猪猪虾 发表于 2020-3-17 13:27
好的,不好意思,我再发一遍

不用了
问题解决就设个最佳答案结了帖吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-17 13:37:55 | 显示全部楼层
qiuyouzhi 发表于 2020-3-17 13:29
不用了
问题解决就设个最佳答案结了帖吧

a,您能把问题在哪说一下嘛,我没找到是什么问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-17 13:42:03 | 显示全部楼层    本楼为最佳答案   
猪猪虾 发表于 2020-3-17 13:37
a,您能把问题在哪说一下嘛,我没找到是什么问题

看你的代码:
1,第3行和第5行,一个有下划线,一个没有
2,while拼写错误
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-17 13:44:55 | 显示全部楼层
错误太多,不一一列举了。
说几类:1、拼写错误;2、算法错误;3、格式错误;4、中英文符号错误
#编写一个函数,利用欧几里得算法求最大公约数,
#例如gcd(x, y)返回值为参数x和参数y的最大公约数。
def judge(m,n):
    if n==0 or m==0:
        return None
    if m>n:
        yu_shu=m % n
        little=n
    else:
        yu_shu=n % m
        little=m
    if yu_shu==0:
        return(little)
    while yu_shu!=0:
        yu_shu_new=yu_shu
        yu_shu=little%yu_shu
        little=yu_shu_new
    return(yu_shu_new)
          
number1=int(input('enter a number:'))
number2=int(input('enter a number:'))
result=judge(number1,number2)
print('result=',result)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-17 13:52:03 | 显示全部楼层
sunrise085 发表于 2020-3-17 13:44
错误太多,不一一列举了。
说几类:1、拼写错误;2、算法错误;3、格式错误;4、中英文符号错误

刚开始,见谅见谅
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-17 13:55:14 | 显示全部楼层
猪猪虾 发表于 2020-3-17 13:52
刚开始,见谅见谅

语法错误,初学都会这样,没关系。
拼写错误,要认真哈。
算法错误,那就是数学不好了。。。

两行输入居然都是number1.。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-17 14:17:42 | 显示全部楼层
sunrise085 发表于 2020-3-17 13:55
语法错误,初学都会这样,没关系。
拼写错误,要认真哈。
算法错误,那就是数学不好了。。。

哎,原来是这,我,,,我下次注意
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-24 23:40

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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