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

如何修改Python函数实现青少年判断结果的格式化单行输出

问题解决:年龄判断函数的格式输出调整

需求说明

现有三个人物的年龄:Ola 12岁、Kari 15岁、Lise 20岁,需通过自定义函数完成以下操作:

  • 判断年龄是否在13-19岁之间,是则返回“you are a teenager”,否则返回“you are not a teenager”
  • 最终输出格式为单行,例如:Ola, you are 12 years old, You are not a teenager

当前代码及问题

当前代码:

Ola = 12
Kari = 15
Lise = 20

def age_number(age):
  if age >= 13 and age <= 19:
    print("You are a teenager")
  else: 
    print("You are not a teenager")
  return age

print()
print()
answerola = age_number(Ola)
print(answerola, "Ola")

当前控制台输出:

You are not a teenager
12 Ola

问题在于函数内部直接打印判断结果,导致输出拆分两行,无法拼接成指定格式的单行文本。

修正方案

调整函数逻辑,让函数返回判断结果的文本而非直接打印,再在主程序中拼接所有信息并打印:

Ola = 12
Kari = 15
Lise = 20

def check_teenager(age):
    if 13 <= age <= 19:
        return "You are a teenager"
    else:
        return "You are not a teenager"

# 处理并打印Ola的信息
ola_result = check_teenager(Ola)
print(f"Ola, you are {Ola} years old, {ola_result}")

# 处理并打印Kari的信息
kari_result = check_teenager(Kari)
print(f"Kari, you are {Kari} years old, {kari_result}")

# 处理并打印Lise的信息
lise_result = check_teenager(Lise)
print(f"Lise, you are {Lise} years old, {lise_result}")

代码说明

  1. 函数check_teenager仅负责判断年龄并返回对应文本,不直接打印,保留结果的灵活性。
  2. 使用Python的f-string格式化字符串,直接将名字、年龄、判断结果拼接成符合要求的单行文本。
  3. 分别处理三个人物的信息,输出规范结果。

输出结果

Ola, you are 12 years old, You are not a teenager
Kari, you are 15 years old, You are a teenager
Lise, you are 20 years old, You are not a teenager

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 10:05:23