Isto é apenas um trecho do meu código:
print("Total score for %s is %s ", name, score)
Mas eu quero que seja impresso:
" pontuação total para (nome) é (pontuação)"
onde nome
é uma variável em uma lista e score
é um inteiro. Isto é Python 3.3, se isso ajudar em alguma coisa.
Há muitas maneiras de fazer isto. Para corrigir seu código atual utilizando a formatação %
, você precisa passar em um tuple:
Passa-a como um tuple:
print("Partitura total para %s é %s" % (nome, partitura))
Um tuple com um único elemento se parece com ('this',)
.
Aqui estão algumas outras formas comuns de o fazer:
Passe-o como um dicionário:
print("Partitura total para %(n)s é %(s)s" % {'n': nome, 's': partitura})
Também há um novo estilo de formatação de cordas, que pode ser um pouco mais fácil de ler:
Use um novo estilo de formatação de cordas:
print("Partitura total para {} é {}".format(name, score))
Use um novo estilo de formatação de cordas com números (útil para reordenar ou imprimir o mesmo várias vezes):
print("Partitura total para {0} é {1}".format(name, score))
Use um novo estilo de formatação de cordas com nomes explícitos:
print("pontuação total para {n} é {s}".format(n=nome, s=ponto))
Concatenar cordas:
print("Partitura total para " + str(nome) + " is " + str(partitura))
Os dois mais claros, na minha opinião:
Basta passar os valores como parâmetros:
print("Partitura total para", nome, "is", partitura)
Se você não'não quer que espaços sejam inseridos automaticamente por impressão
no exemplo acima, altere o parâmetro sep
:
print("Partitura total para ", nome, " é ", partitura, sep='')
Se você'estiver utilizando Python 2, won'não poderá utilizar os dois últimos porque print
é't uma função em Python 2. Você pode, no entanto, importar esse comportamento do __futuro__
:
de __futuro__impressão_impressão_função
Utilize a nova formatação f
-stringing em Python 3.6:
print(f'Partitura total para {nome} é {score}')
Mantendo as coisas simples, eu pessoalmente gosto da concatenação de cordas:
print("Total score for " + name + " is " + score)
Funciona tanto com o Python 2.7 como com o 3.X.
NOTA: Se a pontuação for um int, então, você deve convertê-lo para str:
print("Total score for " + name + " is " + str(score))