Python实现指定格式人员单句信息输出的代码纠错
代码问题说明
原代码存在3个核心逻辑错误:
- 未将每行空格分隔的输入拆分为独立元素列表,直接把整行字符串作为整体处理,无法逐人匹配对应位置的信息
- 未对职业字段做首字母大写处理,不符合输出格式要求
- 未按人物逐行生成语句,输出内容存在多余空格、标点位置错误,所有输入内容会被错误拼接在同一句中
修正后可运行代码
# 逐行读取输入,按空格分割为对应序列 names = input().split() professions = input().split() work_years = input().split() cities = input().split() states = input().split() # 按位置匹配各序列值,逐人生成符合模板的语句 for name, prof, years, city, state in zip(names, professions, work_years, cities, states): print(f"{name} is a {prof.capitalize()} for {years} years in {city}, {state}.")
效果验证
传入题目给出的示例输入时,代码输出和要求的示例结果完全一致:
Sunil is a Doctor for 15 years in Lucknow, Uttar_Pradesh. Shankar is a Dentist for 10 years in Delhi, New_Delhi. Salman is a Carpenter for 10 years in Mumbai, Maharashtra.
内容的提问来源于stack exchange,提问作者Sri Vishnu
相关产品推荐
相关产品推荐

