Python自定义函数无返回值问题求助及优化方案咨询
问题分析与优化方案
你的代码核心问题是函数定义关键字写错了:Python里定义函数必须用小写的def,而不是Def,这个语法错误会导致函数无法被正确识别,自然调用时得不到预期返回值。
修正后的正确代码如下:
def func0(x, y): if x < y: return (x*y) - x else: return (y*y) - 1
现在调用func0(5,6)时,因为5<6,会执行5*6 -5 =25,和你预期的结果一致。
更优实现方式
可以简化代码逻辑,去掉不必要的中间变量,甚至用三元表达式将函数压缩为一行,既简洁又清晰:
def func0(x, y): return (x * y) - x if x < y else (y ** 2) - 1
这里用y ** 2代替y*y,是Python中表示平方更规范的写法,可读性更强。
内容的提问来源于stack exchange,提问作者Onion Rings
相关产品推荐
相关产品推荐

