Περισσότερα
Εκτύπωση πολλαπλών επιχειρημάτων στην Python
Αυτό είναι απλώς ένα απόσπασμα του κώδικά μου:
print("Total score for %s is %s ", name, score)
Αλλά θέλω να εκτυπωθεί:
"Η συνολική βαθμολογία για το (όνομα) είναι (βαθμολογία)",
όπου name
είναι μια μεταβλητή σε μια λίστα και score
είναι ένας ακέραιος αριθμός. Πρόκειται για την Python 3.3, αν αυτό βοηθάει καθόλου.
281
3
Υπάρχουν πολλοί τρόποι για να το κάνετε αυτό. Για να διορθώσετε τον τρέχοντα κώδικά σας χρησιμοποιώντας τη μορφοποίηση
%
, πρέπει να περάσετε μια πλειάδα:Να το περάσετε ως πλειάδα:
Μια πλειάδα με ένα μόνο στοιχείο μοιάζει με
('this',)
.Εδώ είναι μερικοί άλλοι συνηθισμένοι τρόποι για να το κάνετε:
Να το περάσετε ως λεξικό:
Υπάρχει επίσης μορφοποίηση συμβολοσειρών νέου τύπου, η οποία μπορεί να είναι λίγο πιο ευανάγνωστη:
Χρησιμοποιήστε μορφοποίηση συμβολοσειρών νέου τύπου:
Χρησιμοποιήστε μορφοποίηση συμβολοσειράς νέου τύπου με αριθμούς (χρήσιμο για την αναδιάταξη ή την εκτύπωση του ίδιου αριθμού πολλές φορές):
Χρησιμοποιήστε μορφοποίηση συμβολοσειρών νέου τύπου με ρητά ονόματα:
Συνδέστε συμβολοσειρές:
Οι δύο πιο σαφείς, κατά τη γνώμη μου:
Απλά περάστε τις τιμές ως παραμέτρους:
Αν δεν θέλετε να εισάγονται αυτόματα κενά από την
print
στο παραπάνω παράδειγμα, αλλάξτε την παράμετροsep
:Αν χρησιμοποιείτε Python 2, δεν θα μπορείτε να χρησιμοποιήσετε τα δύο τελευταία γιατί η
print
δεν είναι συνάρτηση στην Python 2. Μπορείτε, ωστόσο, να εισαγάγετε αυτή τη συμπεριφορά από την__future__
:Χρησιμοποιήστε τη νέα μορφοποίηση της συμβολοσειράς
f
στην Python 3.6:Κρατώντας το απλό, προσωπικά μου αρέσει η συνένωση συμβολοσειρών:
Λειτουργεί τόσο με την Python 2.7 όσο και με την Python 3.X.
ΣΗΜΕΙΩΣΗ: Αν το σκορ είναι int, τότε θα πρέπει να το μετατρέψετε σε str:
Απλά δοκιμάστε: