I've mulai pemrograman saat ini dan memiliki masalah ini dengan Python. It's cukup bodoh, tapi aku bisa't tahu bagaimana untuk melakukannya. Ketika saya menggunakan perintah print, mencetak apa pun yang saya inginkan dan kemudian pergi ke baris yang berbeda. Misalnya:
print "this should be"; print "on the same line"
Harus kembali:
ini harus pada baris yang sama
tapi bukannya kembali:
ini harus pada baris yang sama
Lebih tepatnya saya mencoba untuk membuat sebuah program dengan jika
yang mengatakan kepada saya apakah nomor 2 atau tidak
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)"
Tapi itu doesn't mengenali terakhir (x)
sebagai nilai yang dimasukkan, dan agak cetakan persis: "(x)" (huruf dengan tanda kurung). Untuk membuatnya bekerja saya harus menulis:
print "Nope, that is not a two. That is a"; print (x)
Dan jika misalnya saya memasukkan test2(3)
yang memberikan:
Tidak, itu bukan dua, yaitu 3
Jadi saya perlu untuk membuat Python mengenali saya (x) dalam cetak garis sebagai nomor; atau untuk mencetak dua hal yang terpisah, tetapi pada baris yang sama. Terima kasih sebelumnya dan maaf untuk seperti pertanyaan bodoh.
CATATAN PENTING: saya menggunakan versi 2.5.4
Catatan lain: Jika saya menempatkan print "Sesuatu" , cetak "Thing2"
itu mengatakan "kesalahan Sintaks" pada cetakan ke-2.
Di Python 3.x, anda dapat menggunakan end
argumen cetak()
fungsi untuk mencegah newline karakter yang dicetak:
print("Nope, that is not a two. That is a", end="")
Di Python 2.x, anda dapat menggunakan tanda koma:
print "this should be",
print "on the same line"
Anda don't perlu ini untuk hanya mencetak sebuah variabel, meskipun:
print "Nope, that is not a two. That is a", x
Perhatikan bahwa tanda koma masih hasil di luar angkasa yang dicetak pada akhir baris, yaitu's setara dengan menggunakan end=" "
di Python 3. Untuk menekan ruang karakter, anda dapat menggunakan
from __future__ import print_function
untuk mendapatkan akses ke Python 3 fungsi cetak atau menggunakan sys.stdout.write()
.
Di Python 2.x hanya menempatkan ,
di akhir cetak
pernyataan. Jika anda ingin menghindari ruang kosong yang mencetak
menempatkan antara item, gunakan sys.stdout.menulis
.
import sys
sys.stdout.write('hi there')
sys.stdout.write('Bob here.')
hasil:
hi thereBob here.
Catatan yang ada tidak ada newline atau kosong antara dua string.
Di Python 3.x, dengan print() function, anda hanya bisa mengatakan
print('this is a string', end="")
print(' and this is on the same line')
dan dapatkan:
this is a string and this is on the same line
Ada juga parameter yang disebut sep
yang anda dapat di cetak dengan Python 3.x untuk mengontrol bagaimana berdampingan string yang akan dipisahkan (atau tidak tergantung pada nilai yang diberikan untuk sep
)
E. g.,
Python 2.x
print 'hi', 'there'
memberikan
hi there
Python 3.x
print('hi', 'there', sep='')
memberikan
hithere
Jika anda're menggunakan Python 2.5, hal ini tidak't bekerja, tetapi untuk orang-orang yang menggunakan 2.6 atau 2.7, mencoba
from __future__ import print_function
print("abcd", end='')
print("efg")
hasil di
abcdefg
Bagi mereka yang menggunakan 3.x, ini sudah built-in.
Anda hanya perlu melakukan:
print 'lakjdfljsdf', # trailing comma
Namun di:
print 'lkajdlfjasd', 'ljkadfljasf'
Ada implisit spasi (ie' '
).
Anda juga memiliki pilihan untuk:
import sys
sys.stdout.write('some data here without a new line')
Menggunakan tanda koma untuk mencegah baris baru dari yang disajikan:
print "this should be"; print "on the same line"
Harus:
print "this should be", "on the same line"
Selain itu, anda hanya dapat melampirkan variabel yang dilewatkan ke akhir dari string yang diinginkan dengan:
print "Nope, that is not a two. That is a", x
Anda juga dapat menggunakan:
print "Nope, that is not a two. That is a %d" % x #assuming x is always an int
Anda dapat mengakses tambahan dokumentasi mengenai string pemformatan memanfaatkan %
operator (modulo).