提交zyBook作业时遇EOF错误,姓名格式转换程序排障求助
问题排查与解决
错误原因
你用三次input()调用分别获取名、中间名、姓,但zyBook的测试用例是一次性传入整行包含三个姓名部分的输入,而非分三次输入。当代码执行到第三次input()时,已经没有更多输入内容,触发了EOF(End of File)错误。
修复方案
改为读取整行输入,再拆分出三个姓名部分:
# 读取整行输入并分割成三个部分 full_name = input().split() first_name, middle_name, last_name = full_name # 按要求格式化输出 print(f"{last_name}, {first_name[0]}.{middle_name[0]}.")
补充说明
- 如果需要处理输入可能存在多余空格的情况,
split()会自动忽略连续空格,把输入按空格分割成列表,刚好匹配三个姓名部分。 - 确保每个姓名部分非空(题目已明确输入包含三个部分,所以无需额外判断),直接取首字母即可。
内容的提问来源于stack exchange,提问作者IjustWorkHere
相关产品推荐
相关产品推荐

