鱼C论坛

 找回密码
 立即注册
查看: 2083|回复: 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拼写错误
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-3-17 12:58:24 | 显示全部楼层
本帖最后由 qiuyouzhi 于 2020-3-17 13:25 编辑
  1. def judge(m,n):
  2.     if m>n:
  3.        yu_shu=m % n
  4.     else:
  5.        yu_shu=n % m
  6.        if yu_shu==0:
  7.           return(m)
  8.        if yu_shu!=0:
  9.           time=0
  10.           while yu_shu_new==0 or time>=5:
  11.                  yu_shu_new=n%yu_shu
  12.                  if yu_shu_new==0:
  13.                      return yu_shu
  14.                      break
  15.                  else:
  16.                      n=yu_shu
  17.                      yu_shu=yu_shu_new
  18.                      time+=1
  19.                  return(n)
  20.          
  21. number1=int(input('enter a number:'))
  22. number1=int(input('enter a number:'))
  23. result=judge(number1,number1)
  24. print('result=',result)
复制代码

这代码。。。不想吐槽了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

初学者,您不用这么。。。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

就是提问也得把问题发出来
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

好的,不好意思,我再发一遍
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

不用了
问题解决就设个最佳答案结了帖吧
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

a,您能把问题在哪说一下嘛,我没找到是什么问题
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

看你的代码:
1,第3行和第5行,一个有下划线,一个没有
2,while拼写错误
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

  1. #编写一个函数,利用欧几里得算法求最大公约数,
  2. #例如gcd(x, y)返回值为参数x和参数y的最大公约数。
  3. def judge(m,n):
  4.     if n==0 or m==0:
  5.         return None
  6.     if m>n:
  7.         yu_shu=m % n
  8.         little=n
  9.     else:
  10.         yu_shu=n % m
  11.         little=m
  12.     if yu_shu==0:
  13.         return(little)
  14.     while yu_shu!=0:
  15.         yu_shu_new=yu_shu
  16.         yu_shu=little%yu_shu
  17.         little=yu_shu_new
  18.     return(yu_shu_new)
  19.          
  20. number1=int(input('enter a number:'))
  21. number2=int(input('enter a number:'))
  22. result=judge(number1,number2)
  23. print('result=',result)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

刚开始,见谅见谅
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

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

两行输入居然都是number1.。。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

哎,原来是这,我,,,我下次注意
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-14 10:49

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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