如何修改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}")
代码说明
- 函数
check_teenager仅负责判断年龄并返回对应文本,不直接打印,保留结果的灵活性。 - 使用Python的f-string格式化字符串,直接将名字、年龄、判断结果拼接成符合要求的单行文本。
- 分别处理三个人物的信息,输出规范结果。
输出结果
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
相关产品推荐
相关产品推荐

