Ξεκίνησα τον προγραμματισμό σήμερα και έχω αυτό το πρόβλημα με την Python. Είναι αρκετά χαζό, αλλά δεν μπορώ να καταλάβω πώς να το κάνω. Όταν χρησιμοποιώ την εντολή print, εκτυπώνει ό,τι θέλω και μετά πηγαίνει σε μια άλλη γραμμή. Για παράδειγμα: Η γραμμή που γράφει ο χρήστης είναι η ακόλουθη: Η γραμμή που γράφει ο χρήστης είναι η γραμμή που γράφει ο χρήστης:
print "this should be"; print "on the same line"
αυτό θα πρέπει να είναι στην ίδια γραμμή
αλλά αντ' αυτού επιστρέφει:
αυτό θα έπρεπε να είναι στην ίδια γραμμή
Πιο συγκεκριμένα προσπαθούσα να δημιουργήσω ένα πρόγραμμα με if
που να μου λέει αν ένας αριθμός είναι 2 ή όχι
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)"
Όμως δεν αναγνωρίζει το τελευταίο (x)
ως την τιμή που εισήχθη, και μάλλον τυπώνει ακριβώς: "(x)" (το γράμμα με τις αγκύλες). Για να το κάνω να δουλέψει πρέπει να γράψω:
print "Nope, that is not a two. That is a"; print (x)
Και αν π.χ. πληκτρολογήσω τεστ2(3)
αυτό δίνει: Τεστ2(3)
:
Όχι, αυτό δεν είναι ένα δύο, είναι ένα 3
Οπότε είτε πρέπει να κάνω την Python να αναγνωρίσει το (x) μου μέσα σε μια γραμμή εκτύπωσης ως αριθμό, είτε να εκτυπώσω δύο ξεχωριστά πράγματα αλλά στην ίδια γραμμή. Ευχαριστώ εκ των προτέρων και συγγνώμη για μια τόσο ηλίθια ερώτηση.
ΣΗΜΑΝΤΙΚΉ ΣΗΜΕΊΩΣΗ: Χρησιμοποιώ την έκδοση 2.5.4.
Μια άλλη σημείωση: Αν βάλω print "Thing" , print "Thing2"
λέει "Συντακτικό σφάλμα" στη 2η εκτύπωση.
Στο Python 3.x, μπορείτε να χρησιμοποιήσετε το όρισμα end
στη συνάρτηση print()
για να αποτρέψετε την εκτύπωση ενός χαρακτήρα νέας γραμμής:
print("Nope, that is not a two. That is a", end="")
Στην Python 2.x, μπορείτε να χρησιμοποιήσετε ένα κόμμα στο τέλος:
print "this should be",
print "on the same line"
Ωστόσο, δεν το χρειάζεστε αυτό για να εκτυπώσετε απλά μια μεταβλητή:
print "Nope, that is not a two. That is a", x
Σημειώστε ότι το κόμμα στο τέλος της γραμμής εξακολουθεί να έχει ως αποτέλεσμα την εκτύπωση ενός διαστήματος στο τέλος της γραμμής, δηλαδή είναι ισοδύναμο με τη χρήση του end=" "
στην Python 3. Για να καταστείλετε και τον χαρακτήρα του κενού, μπορείτε είτε να χρησιμοποιήσετε
from __future__ import print_function
για να αποκτήσετε πρόσβαση στη συνάρτηση print της Python 3 ή να χρησιμοποιήσετε την sys.stdout.write()
.
Απλά πρέπει να το κάνετε:
print 'lakjdfljsdf', # trailing comma
Ωστόσο, σε:
print 'lkajdlfjasd', 'ljkadfljasf'
Υπάρχει σιωπηρό κενό διάστημα (δηλαδή ' '
).
Έχετε επίσης τη δυνατότητα:
import sys
sys.stdout.write('some data here without a new line')
Χρησιμοποιήστε ένα κόμμα στο τέλος για να αποτρέψετε την παρουσίαση μιας νέας γραμμής:
print "this should be"; print "on the same line"
Θα έπρεπε να είναι:
print "this should be", "on the same line"
Επιπλέον, μπορείτε απλά να επισυνάψετε τη μεταβλητή που περνάτε στο τέλος της επιθυμητής συμβολοσειράς με:
print "Nope, that is not a two. That is a", x
Μπορείτε επίσης να χρησιμοποιήσετε:
print "Nope, that is not a two. That is a %d" % x #assuming x is always an int
Μπορείτε να έχετε πρόσβαση σε πρόσθετη τεκμηρίωση σχετικά με τη μορφοποίηση συμβολοσειρών χρησιμοποιώντας τον τελεστή %
(modulo).