Dúvidas - Python

1. Dúvidas - Python

Gabriel Oliveira da Silva
Gabrielz

(usa Arch Linux)

Enviado em 03/10/2015 - 19:50h

Tenho algumas dúvidas em Python, poderiam me dar uma help?

Seguinte, tenho este código:
print "t"
print "e"
print "s"
print "t"
print "e"


Ele tem como saída:
t
e
s
t
e

O que acho bem chato esses supostos "\n"... uma vez que em alguns programas meus não são necessários essas quebras de linha.
Há uma maneira de imprimir tudo sem a quebra de linha?

Última dúvida:
print "Que bacana", '!'

Saída:
Que bacana !

Tem como concatenar elementos em Python sem esses espaçamentos?

Grato!


  


2. Re: Dúvidas - Python

Fernando
phoemur

(usa Debian)

Enviado em 04/10/2015 - 20:24h


print 't' + 'e' + 's' + 't' + 'e'


O print por padrão sempre faz uma quebra de linha no fim, se você quiser, você pode escrever direto em sys.stdout que não vai ter quebra de linha


import sys
sys.stdout.write('teste')


Agora a própria função print nos python mais novos >3.0 dá pra escolher o separador e o final na linha:
veja a documentação da função e os valores default:

print(...)
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)

Prints the values to a stream, or to sys.stdout by default.
Optional keyword arguments:
file: a file-like object (stream); defaults to the current sys.stdout.
sep: string inserted between values, default a space.
end: string appended after the last value, default a newline.
flush: whether to forcibly flush the stream.


você pode fazer no python3:

print('teste', end='', flush=True)


Se for em python 2.x o mais fácil é utilizar sys.stdout.write() mesmo.
Em alguns detalhes como esse você percebe que a implementação do python3 é mais coerente.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts