鱼C论坛

 找回密码
 立即注册
查看: 763|回复: 12

[已解决]为什么错了

[复制链接]
发表于 2020-5-13 09:58:56 From FishC Mobile | 显示全部楼层 |阅读模式

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

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

x

  1. def gcd(x,y):
  2.     while y:
  3.         t=x%y
  4.         y=x
  5.         t=y
  6. x=int(input('hdjd'))
  7. y=int(input('dhjd'))  
  8. print(gcd(x,y))
复制代码

输入x,y的值后为什么没有打印结果?还有不设置中间变量t,直接写x%y=y会报错呢?can’t assign to function call
最佳答案
2020-5-13 10:07:20
tiger吴 发表于 2020-5-13 10:06
e,少打了函数返回结果,还有第二个问题呢
  1. x%y=y
复制代码

必然会报错
给变量赋值变量要在前面
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-5-13 10:01:57 | 显示全部楼层
因为你没有设置返回值 , 加上:
return
输入你想返回的东西
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-13 10:02:32 | 显示全部楼层
能有结果就奇怪了,改成
  1. def gcd(x,y):
  2.     while y:
  3.         t=x%y
  4.         y=x
  5.         x=t
  6.     return x

  7. x=int(input('hdjd'))
  8. y=int(input('dhjd'))  
  9. print(gcd(x,y))
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-13 10:06:08 From FishC Mobile | 显示全部楼层
永恒的蓝色梦想 发表于 2020-5-13 10:02
能有结果就奇怪了,改成

e,少打了函数返回结果,还有第二个问题呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-13 10:07:20 | 显示全部楼层    本楼为最佳答案   
tiger吴 发表于 2020-5-13 10:06
e,少打了函数返回结果,还有第二个问题呢
  1. x%y=y
复制代码

必然会报错
给变量赋值变量要在前面
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-13 10:07:46 | 显示全部楼层
tiger吴 发表于 2020-5-13 10:06
e,少打了函数返回结果,还有第二个问题呢

1.不光是没打返回结果,你的逻辑都是错的

2.我都想不明白 x%y=y 是什么意思
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-13 10:23:46 | 显示全部楼层
第一个问题已经有人说了 少了一句return x
x%y=y 你是想说 把x%y的结果赋值给y吧 那应该是
  1. y = x%y
复制代码
吧  
看的出来 基础内容还没有完全理解
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-13 10:29:20 | 显示全部楼层
我看了一下
t=x%y
y=x
t=y
你这三句我感觉有点奇怪,可以用你的话说明一下吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-13 10:50:19 From FishC Mobile | 显示全部楼层
永恒的蓝色梦想 发表于 2020-5-13 10:07
1.不光是没打返回结果,你的逻辑都是错的

2.我都想不明白 x%y=y 是什么意思

把x%y当变量,然后再代入定义的函数里面,实现递归啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-13 11:12:43 From FishC Mobile | 显示全部楼层
沐羽尘 发表于 2020-5-13 10:29
我看了一下
t=x%y
y=x

后面两个写反了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-13 11:14:19 From FishC Mobile | 显示全部楼层
沐羽尘 发表于 2020-5-13 10:23
第一个问题已经有人说了 少了一句return x
x%y=y 你是想说 把x%y的结果赋值给y吧 那应该是 吧  
看的出来 ...

额,刚学一周
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-13 13:02:48 | 显示全部楼层
tiger吴 发表于 2020-5-13 10:50
把x%y当变量,然后再代入定义的函数里面,实现递归啊

递归不是这个意思啦 递归是在函数里面调用函数本身 也就是你定义一个a()函数 ,然后在函数里面调用a(),这才叫递归,你这个应该叫赋值
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-13 13:08:17 | 显示全部楼层

这个 可以理解 先搞清楚那个 赋值号 “ = ”是什么吧 :
就是比如 y = x
是把后面x的值赋值给y ,用数学来说就是x = y的意思
建议踏踏实实的理解了再做下面的题,那个递归可能新手不太容易理解,可以多打一下代码,运行多了,可能就会了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-19 15:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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