我正在投票系统中,我正在输入内容,“用户”在哪里放置候选人的姓名,并且该名称已注册,但是当“用户”(又名“我”)按“ “ 0”退出,通常会显示候选人列表,但字母会分开显示并带有逗号,例如“ T,h,o,m,a,s”或“ P,e,t,e,r”。
我尝试将其设置为字符串,并使用“ join”功能,但它会将每个字母中的空格“,”相乘。
def urna():
candidatos = []
completo = False
while completo == False:
adicionar = input("Coloque seus candidatos aqui, ( 0 para sair ): ")
if adicionar == "0":
candidatos_formatados = " ".join(candidatos)
print()
print("Fim!")
print()
print("Esse foi(ram) o(s) candidato(s) registrado(s):", candidatos_formatados)
break
else:
print()
candidatos.extend(adicionar)
print("Foi adicionado(a) o(a) candidato(a) %s" % adicionar)
print()
我希望输出如下:“ Thomas,Peter,Johann,Hawking,Stephen”等等; 但是此打印的实际输出是:“ T,h,o,m,a,s”,请看下面的图片:
答案 0 :(得分:0)
您需要append
而不是extend
:
k = []
k.append("Tom") # k == ["Tom"]
k.extend("Apple") # K == ["Tom", "A", "p", "p", "l", "e"]
请参见Difference between append vs. extend list methods in Python和more on lists
答案 1 :(得分:-1)
您应该使用list.append()函数而不是list.extend()来向念珠菌(列表)添加偶数(字符串)。
有关append()和extend()的区别,请参见此answer
答案 2 :(得分:-1)
extend():遍历参数并将每个元素添加到列表中。
l = ['hello']
l.extend('world')
l = ['hello', 'w', 'o', 'r', 'l', 'd']
append():将其参数作为单个元素添加到列表的末尾。
l = ['hello']
l.append('world')
l = ['hello', 'world']
您需要使用append()
。