Seite 1 von 1
print-Funktion mit if-Statement
Verfasst: Dienstag 7. Februar 2012, 20:07
von pixewakb
Ich weiß, dass es mal eine Möglichkeit gab eine print()-Anweisung mit einer if-Anweisung zu koppeln. Es sah etwa so aus:
Wahrscheinlich ganz anders. Jedenfalls möchte ich erreichen, dass am Ende ein Punkt steht, statt einem Komma, wenn in einer Liste das letzte Element erreicht wird.
Ich möchte eben haben, dass beim letzten x ein Punkt gesetzt wird.
Re: print-Funktion mit if-Statement
Verfasst: Dienstag 7. Februar 2012, 20:14
von EyDu
Hallo,
das hat nichts mit dem print zu tun, es ist ein ganz allgemeines Statement. Verwenden kannst du es in der Form
Sebastian
Re: print-Funktion mit if-Statement
Verfasst: Dienstag 7. Februar 2012, 20:18
von problembär
Super, und wie prüft er nun, daß es das letzte Element der Liste ist?
Ich nehm' dafür bekanntlich das "Anti-Pattern", hier unter 2.x:
Code: Alles auswählen
#!/usr/bin/env python
# coding: iso-8859-1
ergebnisse = ("a", "b", "c", "d", "e")
a = ""
for i in range(len(ergebnisse)):
a += ergebnisse[i]
if i == len(ergebnisse) - 1:
a += "."
else:
a += ", "
print a
So, und nun mach' mal ohne.

Re: print-Funktion mit if-Statement
Verfasst: Dienstag 7. Februar 2012, 20:25
von EyDu
Man hätte vielleicht zu Ende lesen sollen ^^
@pixewakb: Ist in ``ergebnisse`` immer etwas enthalten (ansonsten gibt es nur eine Zeile mit einem Punkt), dann könntest du einfach folgendes machen:
Sollten in ergebnisse keine Strings enthalten sein, kannst du das noch ein wenig erweitern:
Re: print-Funktion mit if-Statement
Verfasst: Dienstag 7. Februar 2012, 20:26
von deets
Oh. Mein. Gott. Aber wer sich beständig weigert, python zu lernen... Produziert halt sowas.
So würde ich das machen:
print(", ".join(ergebnisse) + ".")
Edit: EyDu war schneller

Re: print-Funktion mit if-Statement
Verfasst: Dienstag 7. Februar 2012, 20:34
von cofi
@pixewakb: Du verwendest die ``print``-_Funktion_ (Python3 oder Python2 + __future__-Import).
deeds verwendet das ``print``-_Statement_ (ueberfluessigerweise mit Klammern) -- zumindest nehme ich das mal an.
Bei letzterem gibt es kein `end` Argument.
Weil ich schon beim Kritisieren bin: Bei EyDu fehlt ein `)` nach dem 2. Komma.
Re: print-Funktion mit if-Statement
Verfasst: Dienstag 7. Februar 2012, 20:48
von EyDu
cofi hat geschrieben:Weil ich schon beim Kritisieren bin: Bei EyDu fehlt ein `)` nach dem 2. Komma.
Du meinst natürlich vor dem zweiten Komma. Wo wir schon dabei sind ...

Re: print-Funktion mit if-Statement
Verfasst: Dienstag 7. Februar 2012, 20:49
von deets
@cofi
Wie kommst du darauf, dass ich das Statement verwende?
Re: print-Funktion mit if-Statement
Verfasst: Dienstag 7. Februar 2012, 22:03
von cofi
@deets
Du verwendest nicht das `end`-Argument, sondern machst das manuell
@EyDu
Oh .. das is jetzt aber peinlich :/
Re: print-Funktion mit if-Statement
Verfasst: Mittwoch 8. Februar 2012, 03:25
von gkuhl
cofi hat geschrieben:Bei EyDu fehlt ein `)` nach dem 2. Komma.
Und ich dachte gerade, ein "end" Argument wäre durchaus ein schönes Gimmick für die "join" Methode.