如何处理逗号分隔的全名输入 提取元素索引按姓,名格式逐行输出
整合后的代码实现
while True: # 读取逗号分隔的姓名列表 DL_names = input("Enter the list of names you want to add to the DL:").strip().title() # 拆分得到单个姓名后逐行处理 for raw_name in DL_names.split(","): # 清理单个姓名前后的多余空白 cleaned_name = raw_name.strip() if not cleaned_name: continue # 拆分姓名各组成部分 name_parts = cleaned_name.split() surname = name_parts[-1] given_names = " ".join(name_parts[:-1]) # 按要求格式输出 print(f"{surname},{given_names}")
功能逻辑说明
- 先读取整行逗号分隔的姓名输入,统一转为首字母大写格式
- 按逗号拆分得到每个单独的姓名字符串,先去除每个姓名前后的空格,兼容输入时逗号前后带空格的场景
- 对单个姓名按空格拆分,取最后一段为姓氏,前面所有段落拼接为名字(包含中间名)
- 直接输出符合要求的字符串格式,修复原第一段代码返回元组的问题
运行效果示例
输入:John Doe, Jane Marie Doe, Bob Smith
输出:
Doe,John Doe,Jane Marie Smith,Bob
内容的提问来源于stack exchange,提问作者marjomarge
相关产品推荐
相关产品推荐

