You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python猜数字游戏:higher_lower函数返回值问题求助

解决Python higher_lower函数返回值问题

嘿,我一眼就看出问题出在哪了——你把print()和return的用法搞混啦!

你当前的代码里,在每个条件分支里用print()输出了对应的字符串,但函数的需求是返回这些字符串,而不是仅仅打印出来。而且你最后写的return **[......]部分完全没必要,因为只要在每个分支里用return返回目标字符串,函数执行到这里就会直接结束,不需要额外的return语句。

给你修正后的正确代码:

def higher_lower(num):
    if num > 25:
        return "higher"
    elif num < 25:
        return "lower"
    else:
        return "correct"

简单解释下:

  • 当输入的num大于25时,函数直接返回字符串"higher",执行到这里函数就终止了
  • 同理,num小于25时返回"lower",等于25时返回"correct"

你可以这样测试这个函数:

print(higher_lower(30))  # 输出 lower
print(higher_lower(20))  # 输出 higher
print(higher_lower(25))  # 输出 correct

之前你尝试的几种return写法都是错误的:

  • return higher_lower会返回函数对象本身,不是需求的字符串
  • return higher_lower(num)会导致递归调用函数,容易出现无限递归或者EOF错误
  • return num只会返回输入的数值,自然不符合返回指定字符串的需求

内容的提问来源于stack exchange,提问作者C245

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.06 18:57:50