我正在通过“用Python自动完成无聊的工作”。我不知道如何从下面的程序中删除最终的输出逗号。目的是不断提示用户输入值,然后将这些值打印在列表中,并在末尾插入“和”。输出应如下所示:
apples, bananas, tofu, and cats
我的看起来像这样:
apples, bananas, tofu, and cats,
那最后一个逗号让我发疯。
def lister(): listed = [] while True: print('type what you want to be listed or type nothing to exit') inputted = input() if inputted == '': break else: listed.append(inputted+',') listed.insert(-1, 'and') for i in listed: print(i, end=' ') lister()
您可以通过将格式设置推迟到打印时间来避免在列表中的每个字符串上添加逗号。连接除最后一个项目以外的所有项目', ',然后使用格式插入连接的字符串,其中最后一个项目与以下项连接and:
', '
and
listed.append(inputed) ... print('{}, and {}'.format(', '.join(listed[:-1]), listed[-1]))
演示:
>>> listed = ['a', 'b', 'c', 'd'] >>> print('{}, and {}'.format(', '.join(listed[:-1]), listed[-1])) a, b, c, and d