柴科夫司机 发表于 2020-4-9 04:28:08

关于return与break报错

本帖最后由 柴科夫司机 于 2020-4-10 02:40 编辑

max = tuple1

for each in tuple1:
            if each > max:
                        max=each



return max

小甲鱼上课时候举得一个例子 我导入IDLE 一直在报”out of function"

上节课有个课后练习 也是 尝试使用break 一直用不了


num = input('请输入一个整数(输入Q结束程序):')
a = int(num)

x = '%x' % a
o = '%o' % a
b = bin(a)       

if num != Q:
      print('十进制 -> 十六进制:'+str(a)+'->'+str(x))
        print('十进制 -> 八进制:'+str(a)+'->'+str(o)
      print('十进制 -> 二进制:'+str(a)+'->'+str(b))

else:
        break

这个提示是outside loop


-------------------------------------------------------------------------分割线------------------------------------------------------------------------------------------



return是小甲鱼自己举得例子啊

wp231957 发表于 2020-4-9 06:25:20

这俩个提示已经狠明显了
return一定要用在函数里
break则一定要用在循环中

zltzlt 发表于 2020-4-9 07:56:08

return 必须要用在函数中

break 必须要用在循环中

qiuyouzhi 发表于 2020-4-9 08:56:58

return 必须用在函数中,它是函数的专有语句。
break和continue 必须用在循环里,它俩是循环
的专用语句。
当然,你后面学到yield的时候,会发现它也只能用于函数里面。

wuqramy 发表于 2020-4-9 09:18:10

return要用在函数里面,break得用在循环中
否则通通报错

溪水叮咚 发表于 2020-4-9 09:30:29

return是函数中返回的意思
break是跳出循环的意思

永远的渣滓 发表于 2020-4-9 09:56:36

out of function 啊兄弟,我建议你以后系统报错就把报错内容给谷歌翻译一下,你的这个return是要用在函数内部的,out of function就是说在函数外了,给个Tab就可以了
同样,你的break也要用在循环体中{:10_332:}
求最佳

翁坤1125 发表于 2020-4-9 10:36:55

害,大兄嘚,return是放在函数里面的
break要用在循环体里面鸭

EveLee 发表于 2020-4-9 16:51:46

1、当def创建一个函数时,用return,且return要包含在def的函数里(注意缩进)。报出”out of function"就说明你是在函数以外用return了,不符合规则。
2、break是用来跳出循环的,if语句不是循环语句,也就没有跳出循环这一说,所以会出现outside loop,你把break用在while循环或者for循环语句中就没问题了。

陈尚涵 发表于 2020-4-14 10:24:50

return必须再函数中,break必须再循环中。
页: [1]
查看完整版本: 关于return与break报错