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

如何引用函数返回值?嵌套if语句实现简易翻译器问题咨询

嘿,咱们一个一个来解决你的问题哈!

问题1:如何引用函数的返回值

引用函数返回值其实超简单,当你调用带return的函数时,函数会把计算好的结果“递”给你,你可以把它存进变量里留着用,也可以直接拿来用。给你举几个实用的例子:

  • 存到变量里(最常用):方便后续反复调用返回值

    def calculate_sum(a, b):
        return a + b
    
    total = calculate_sum(4, 6)  # 把函数返回的10赋值给total变量
    print(f"总和是:{total}")  # 输出总和是:10
    
  • 直接使用返回值:如果只需要用一次,直接把函数调用放在需要的位置就行

    print(f"直接输出总和:{calculate_sum(4, 6)}")  # 直接输出总和:10
    
  • 传给其他函数当参数:还能把返回值直接丢给另一个函数用

    def multiply_by_two(num):
        return num * 2
    
    final_num = multiply_by_two(calculate_sum(4, 6))  # 先拿求和的结果10,再乘2得到20
    print(f"最终结果:{final_num}")
    
问题2:完善嵌套if实现的简易翻译器

我帮你把没写完的代码补全啦,完全按照作业要求用嵌套if来实现,你可以参考着改:

def translate(word, language):
    '''
    接收待翻译字符串和目标语言字符串作为参数,返回原单词、目标语言及对应翻译结果。
    '''
    en_word = word.lower()
    lang = language.lower()
    translation = "抱歉,暂不支持该单词或语言的翻译"
    
    # 法语翻译分支(嵌套if结构)
    if lang == "french":
        if en_word == "hello":
            translation = "bonjour"
        elif en_word == "goodbye":
            translation = "au revoir"
        elif en_word == "thank you":
            translation = "merci"
    # 西班牙语翻译分支(嵌套if结构)
    elif lang == "spanish":
        if en_word == "hello":
            translation = "hola"
        elif en_word == "goodbye":
            translation = "adiós"
        elif en_word == "thank you":
            translation = "gracias"
    # 德语翻译分支(嵌套if结构)
    elif lang == "german":
        if en_word == "hello":
            translation = "hallo"
        elif en_word == "goodbye":
            translation = "auf wiedersehen"
        elif en_word == "thank you":
            translation = "danke"
    
    # 返回包含原信息和翻译结果的元组,方便后续拆解使用
    return (word, language.capitalize(), translation)

怎么调用并引用这个函数的返回值(刚好衔接第一个问题)

调用之后,你可以这样获取返回的结果:

# 方式1:赋值给变量后通过索引访问
result = translate("Hello", "French")
print(f"原单词:{result[0]},目标语言:{result[1]},翻译结果:{result[2]}")
# 输出:原单词:Hello,目标语言:French,翻译结果:bonjour

# 方式2:解构赋值,更直观
original, target_lang, trans_text = translate("Thank you", "Spanish")
print(f"{original} 在 {target_lang} 里是 {trans_text}")
# 输出:Thank you 在 Spanish 里是 gracias

小提示

虽然嵌套if确实不是做翻译器的最优方案(用字典键值对映射会简洁很多),但既然是作业要求,这个写法完全符合嵌套if的逻辑——外层判断目标语言,内层匹配要翻译的单词,逻辑清晰,也能完成任务。你可以根据作业要求的语言和词汇,继续在内层if里添加更多条目哦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 11:52:12