Bugün programlamaya başladım ve Python ile bu sorunu yaşıyorum. Oldukça aptalca ama nasıl yapacağımı bulamıyorum. print komutunu kullandığımda, istediğim şeyi yazdırıyor ve sonra farklı bir satıra geçiyor. Örneğin:
print "this should be"; print "on the same line"
Geri dönmeli:
bu aynı satırda olmalıdır
ancak bunun yerine geri döner:
bu şöyle olmalı aynı satırda
Daha doğrusu if
ile bir sayının 2 olup olmadığını söyleyen bir program oluşturmaya çalışıyordum
def test2(x):
if x == 2:
print "Yeah bro, that's tottaly a two"
else:
print "Nope, that is not a two. That is a (x)"
Ancak son (x)
i girilen değer olarak tanımaz ve bunun yerine tam olarak: "(x)" (parantezli harf) yazdırır. Çalıştırmak için şunu yazmam gerekiyor:
print "Nope, that is not a two. That is a"; print (x)
Ve eğer örneğin test2(3)
girersem bu şunu verir:
Hayır, bu iki değil, bu bir 3
Yani ya Python'un bir yazdırma satırının içindeki (x)'i sayı olarak tanımasını sağlamam gerekiyor; ya da iki ayrı şeyi aynı satıra yazdırmam gerekiyor. Şimdiden teşekkürler ve böyle aptalca bir soru için özür dilerim.
ÖNEMLİ NOT: Ben sürüm 2.5.4 kullanıyorum
Başka bir not: Eğer print "Thing" , print "Thing2"
koyarsam 2. yazdırmada "Syntax error" diyor.
Python 3.x**'de, bir satırsonu karakterinin yazdırılmasını önlemek için print()
fonksiyonuna end
argümanını kullanabilirsiniz:
print("Nope, that is not a two. That is a", end="")
Python 2.x**'de, sondan bir virgül kullanabilirsiniz:
print "this should be",
print "on the same line"
Yine de, sadece bir değişkeni yazdırmak için buna ihtiyacınız yoktur:
print "Nope, that is not a two. That is a", x
Sondaki virgülün hala satırın sonuna bir boşluk yazdırılmasına neden olduğunu unutmayın, yani Python 3'te end=" "
kullanmaya eşdeğerdir. Boşluk karakterini de bastırmak için şunları kullanabilirsiniz
from __future__ import print_function
Python 3 print fonksiyonuna erişmek için veya sys.stdout.write()
kullanın.
Yapmanız gereken tek şey:
print 'lakjdfljsdf', # trailing comma
Ancak:
print 'lkajdlfjasd', 'ljkadfljasf'
Örtük boşluk vardır (yani ' '
).
Ayrıca şu seçeneklere de sahipsiniz:
import sys
sys.stdout.write('some data here without a new line')
Yeni bir satırın sunulmasını önlemek için sondaki virgülü kullanın:
print "this should be"; print "on the same line"
Öyle olmalı:
print "this should be", "on the same line"
Ek olarak, geçirilen değişkeni istediğiniz dizenin sonuna şu şekilde ekleyebilirsiniz:
print "Nope, that is not a two. That is a", x
Ayrıca kullanabilirsiniz:
print "Nope, that is not a two. That is a %d" % x #assuming x is always an int
%` operatörünü (modulo) kullanarak dize biçimlendirme ile ilgili ek belgelere erişebilirsiniz.