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

Python实现姓名格式化程序提交时报EOFError无输出问题求助

问题原因
  • 你当前的代码调用了5次input()函数,每次input()会读取独立的一行输入,但题目要求的输入是单个行内用空格分隔的人名,测试用例只提供了1行输入,代码读到第2次input()时就没有后续输入可以读取,直接抛出EOFError异常终止运行,自然没有输出。
  • 额外定义的lastName2、firstName2变量无实际作用,也不符合题目的输入规则。
修复方案

先单次读取整行输入,用split()方法按空格切割为名字列表,通过判断列表长度区分是双段姓名(无中间名)还是三段姓名(有中间名),再按规则拼接输出即可。
修复后代码:

# 读取整行输入,按空格切割为名字列表
name_parts = input().split()

if len(name_parts) == 3:
    # 有中间名的情况:firstName middleName lastName
    first, middle, last = name_parts
    print(f"{last}, {first[0]}.{middle[0]}.")
elif len(name_parts) == 2:
    # 无中间名的情况:firstName lastName
    first, last = name_parts
    print(f"{last}, {first[0]}.")
效果验证
  • 输入Pat Silly Doe,输出Doe, P.S.,符合示例1要求
  • 输入Julia Clark,输出Clark, J.,符合示例2要求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.21 17:45:11