【问题标题】:How to join every input without every letter being separated in Python?如何在 Python 中不分隔每个字母的情况下加入每个输入?
【发布时间】:2019-04-18 21:18:37
【问题描述】:

我正在制作一个投票系统,我正在制作一个输入,“用户”在哪里输入候选人的姓名并且该名称已注册,但是当“用户”(又名我)按下“ 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”等等; 但是这个print的实际输出是:“T,h,o,m,a,s”,看下图:

【问题讨论】:

    标签: python python-3.x string list formatting


    【解决方案1】:

    你需要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 Pythonmore on lists

    【讨论】:

      【解决方案2】:

      extend():遍历参数并将每个元素添加到列表中。

      l = ['hello']
      l.extend('world')
      l = ['hello', 'w', 'o', 'r', 'l', 'd']
      

      append():将其参数作为单个元素添加到列表的末尾。

      l = ['hello']
      l.append('world')
      l = ['hello', 'world']
      

      您需要使用append()

      【讨论】:

        猜你喜欢
        • 2021-03-16
        • 1970-01-01
        • 1970-01-01
        • 2020-09-11
        • 2018-02-19
        • 1970-01-01
        • 2021-03-15
        • 2020-08-24
        • 1970-01-01
        相关资源
        最近更新 更多