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

Python3函数入门练习题参考代码运行无输出问题求助

问题根因与修复方案

1. 无输出的核心原因

你仅完成了user_input函数的定义,Python运行脚本时不会自动执行自定义函数内部的逻辑,必须主动调用函数才会触发输入、计算、打印等操作,这是你终端无输出的直接原因。

2. 原有代码的额外错误

除了未调用函数外,你写的format占位符索引顺序错误,就算调用函数也会输出错误结果:
原有代码中format的参数顺序是first_name[0], surname[0],2021-birth_year,对应索引0是名字首字母、索引1是姓氏首字母、索引2是年龄,但你打印时写的{1}{2}会把姓氏首字母和年龄拼接,不符合输出要求。

3. 修复后的完整代码

def user_input():
    birth_year = int(input("enter your birth year:\n")) 
    first_name = input("enter your first name:\n")
    surname = input("enter your surname:\n")
    # 修正占位符索引,0对应名字首字母,1对应姓氏首字母,2对应年龄,upper()保证首字母大写输出
    print("your initials are {0}{1} and you are {2} years old".format(first_name[0].upper(), surname[0].upper(), 2024 - birth_year))

# 主动调用函数,触发内部逻辑执行
user_input()

可选优化点

  • 可以用datetime模块自动获取当前年份,不用每年手动修改硬编码的年份数值:
import datetime
current_year = datetime.datetime.now().year
age = current_year - birth_year
  • 新增输入合法性校验,避免用户输入非数字的出生年份时程序直接报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 12:27:01