Python使用while循环收集用户输入姓名,统计数量并输出姓名列表
代码调整方案
你现在的代码只做了输入计数,没有存储每次输入的有效姓名,只需要新增一个列表收集所有非空输入即可,调整后的代码如下:
# 初始化空列表存储收集到的姓名 name_collection = [] while True: given_names = input("Enter a name: ") # 输入为空时停止收集,输出结果 if given_names == "": print(f"Name count {len(name_collection)}") # 用逗号加空格拼接所有姓名后输出 print(", ".join(name_collection)) break # 非空姓名存入列表 name_collection.append(given_names)
关键改动说明
- 新增
name_collection空列表,每次用户输入非空姓名时存入列表,不需要单独维护计数变量,直接通过列表长度len(name_collection)就能获取总个数,和你原来单独计数的效果完全一致 - 最后调用字符串的
join()方法,自动把列表内的所有元素用,拼接成符合要求的字符串,不会出现多余的末尾逗号
内容的提问来源于stack exchange,提问作者JmP
相关产品推荐
相关产品推荐

