从用户输入运行while循环,然后打印列表

2024-10-01 00:33:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在学习Python和stackoverflow的用法,所以这就是为什么这个问题对您来说可能无关紧要的原因

所以,;代码的目标是在用户按enter键之前询问用户名。在这之后,代码应该计算出给出的名称数量,然后打印名称列表

范例

Enter a name:Jack
Enter a name:Dack
Enter a name:Nack
Enter a name:
Name count 3
Jack, Dack, Nack

我已经创建了While-true循环用于名称计数,但现在我只知道如何像上面那样简单地打印这些名称

我的代码是:

count_names = 0

while True:
    given_names = input("Enter a name: ")
    
    if given_names == "":
            print(f"Name count {count_names}")
            break

    count_names += 1 

其结果是:

Enter a name:Jack
Enter a name:Dack
Enter a name:Nack
Enter a name:
Name count 3

我能感觉到答案就在那里,但我就是摸不着

再次感谢你的帮助


Tags: 代码name名称用法目标namescount原因
3条回答

尝试下面的代码,它将返回您想要的

    names = '' 
    count_names = 0 
while True:
    given_names = input("Enter a name: ")
    if given_names == "":
        print(f"Name count {count_names}")
        print(names[:-1])
        break
    names += given_names + ','
    count_names += 1

您可以这样做:

count_names = 0
names = []

while True:
    given_names = input("Enter a name: ")
    names.append(given_names)

    
    if given_names == "":
            print(f"Name count {count_names}")
            names.remove('')
            
            break

    count_names += 1

for name in names:
    print(name, end=', ')

就简单性而言,使用列表是最好的主意。我也总是使用join()方法以逗号分隔列表元素

nameList = []

count = 0

while True:
    name = input('Enter a name: ')
    if name:
        nameList.append(name)
        count += 1
    else:
        print(f'Name count: {count}')
        print(', '.join(nameList))
        break

相关问题 更多 >