Seite 1 von 1
Frage zu 'print'.
Verfasst: Sonntag 4. April 2010, 11:54
von lynadge
Hallo,
ich habe vor kurzem mit Python3 angefangen, vorher habe ich schon in einigen anderen Sprachen wie z.B. C und Pascal geschrieben.
Ich denke meine Frage und das Problem sind relativ simpel, habe aber jetzt nichts passendes beim Suchen gefunden.
Ich habe diesen 'print' Befehl:
Seine Ausgabe ist dann in etwa so: "Zahl 2 : 23".
Wie kann ich die Ausgabe so beeinflussen das sie so aussieht: "Zahl2: 23"? Also einfach nur die Leer Zeichen weglassen die durch das ',' entstanden sind.
Ich hoffe Ihr könnt mir bei dem simplen Problem einen kleinen Denkanstoß geben.
Gruß, deadshox
Verfasst: Sonntag 4. April 2010, 12:02
von nemomuk
Verfasst: Sonntag 4. April 2010, 12:05
von lynadge
Ah, cool, danke, geht ja doch fast wie in C.

Verfasst: Sonntag 4. April 2010, 13:29
von Hyperion
Wieso verweist Du auf Python 2.x? Gibt es diese Option der Stringformattieruneg auch noch in Python3? Ich habe dort nur noch die .format() Methode gesehen.
http://docs.python.org/py3k/library/str ... ing-syntax
Verfasst: Sonntag 4. April 2010, 13:37
von lynadge
Also bei mir geht es scheinbar auch in der 3.1er.
Code: Alles auswählen
#!/usr/bin/python3.1
import random
def main():
for i in range(1, 26):
print("Zahl %i: %i" % (i, random.randrange(1, 100)))
return 0
main()
Verfasst: Sonntag 4. April 2010, 13:43
von Hyperion
"Wr suchet, der findet"
http://docs.python.org/py3k/library/std ... formatting
Also ist das ganze "veraltet" und man sollte es nicht unbedingt mehr verwenden...
Verfasst: Sonntag 4. April 2010, 20:12
von lynadge
Also ist deine Variante aktueller?
Ich dachte in Python3 wurden die Altlasten entfernt?
Verfasst: Sonntag 4. April 2010, 20:15
von derdon
Nicht konsequent genug wie du siehst
Ja, Hyperions Variante ist zu bevorzugen.
Verfasst: Sonntag 4. April 2010, 20:19
von lynadge
Ok, danke schön!
Verfasst: Sonntag 4. April 2010, 20:57
von schorsch
Hm, also ich frage mich gerade, warum hier nicht auf die neuen Möglichkeiten der Print-Funktion hingewiesen wird:
Verfasst: Sonntag 4. April 2010, 21:03
von lunar
Weil das keine schöne Lösung ist. Solche Wort-Puzzeleien sind nicht sonderlich lesbar oder flexibel. Zudem ist das eine der größten Sünden, wenn die Anwendung lokalisierbar sein soll.
Diese Möglichkeit ist nett fürs Debugging und komfortabel im interaktiven Modus, aber ansonsten würde ich davon Abstand nehmen.
Verfasst: Sonntag 4. April 2010, 21:07
von schorsch
Ah, OK. Hatte mich nur gewundert, weil das der Ausgangssituation des Fragestellers IMHO am nächsten kommt.
Verfasst: Montag 5. April 2010, 00:21
von lynadge
Meine frage kam auch daher weil bei mir dann so etwas raus gekommen ist:
Code: Alles auswählen
>>> print('Zahl', 5, ': ', 5 ** 2, sep='')
Zahl 5 : 25
Die Leerzeichen vor und nach der 5.
Verfasst: Montag 5. April 2010, 02:08
von BlackJack
@deadshox: Das kann ich nicht nachvollziehen:
Verfasst: Montag 5. April 2010, 09:31
von lynadge
Ok, ich hätte es testen sollen.
Wenn man
weg lässt, kommt man auf mein Ergebnis.
Verfasst: Montag 5. April 2010, 17:16
von fabi1511
das ist der sinn von

Verfasst: Dienstag 6. April 2010, 06:00
von lynadge
Dacht ich mir schon.

Verfasst: Dienstag 6. April 2010, 06:58
von /me
deadshox hat geschrieben:Dacht ich mir schon.

Wenn du nicht auf Vermutungen angewiesen sein willst, dann hilft auch ein Blick in die
Dokumentation zu print().