Hallo, ich fange gerade mit Python an, doch ich komme nicht weiter:
Wie nummeriert man Zeilen?
Bsp:
print("Hello Wik")
print("hjdsds")
und später soll es so aussehen: (ausgabe)
1. Hello Wik
2. hjdsds
Danke im Vorraus.
Zeilen nummerieren
@SerBlack: na so:
wenn Du aber meinst, dass Du eine Liste mit Zeilen hast, die Du nummeriert haben willst, dann gibt es dafür enumerate:
Code: Alles auswählen
print("1. Hello Wik")
print("2. hjdsds")
Code: Alles auswählen
zeilen = ["Hello Wik", "hjdsds"]
for nr, zeile in enumerate(zeilen, start=1):
print("{}. {}".format(nr, zeile))
Code: Alles auswählen
datei = "C:\\Users\\***\\Pythontest\\uebung.txt"
with open( datei ) as eingabe:
for nr,index,zeile in enumerate( eingabe, start=1):
print("{}. {}".format(nr, zeile))
inhalt = zeile.split(" ")
if len( inhalt ) > 1 :
print( "Da ist ein Leerzeichen" )
inhalt = zeile.split("\t")
if len( inhalt ) > 1:
print( "Da ist ein Tabulator" )
print( inhalt )
Und wo soll ich das einfügen wenn ich das nummerieren will? : uebung.txt sieht so aus:
Spalte1 Spalte2 Spalte3
Zeile2 Zeile2 Zeile2
Test hu
und wenn ich dieses Code ausgebe kommt:
inhalt = zeile.split(" ")
^
IndentationError: unexpected indent
Zuletzt geändert von Anonymous am Freitag 31. März 2017, 13:26, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Codebox-Tags gesetzt.
Grund: Quelltext in Python-Codebox-Tags gesetzt.
@SerBlack: Die ``for``-Schleife sieht nicht so aus wie von Sirius3 gezeigt und wird zu einer Ausnahme führen.
Die Einrückung ist kaputt. Und zwar so das man raten muss was Du eigentlich meinst.
Das `split()` am Leerzeichen macht keinen Sinn weil das Ergebnis nach dem ``if`` wieder verworfen wird und für einen Test ob ein bestimmtes Zeichen enthalten ist, muss man die Zeichenkette nicht zerlegen, da prüft man einfach mit dem ``in``-Operator ob das Zeichen in der Zeichenkette enthalten ist.
Die Einrückung ist kaputt. Und zwar so das man raten muss was Du eigentlich meinst.
Das `split()` am Leerzeichen macht keinen Sinn weil das Ergebnis nach dem ``if`` wieder verworfen wird und für einen Test ob ein bestimmtes Zeichen enthalten ist, muss man die Zeichenkette nicht zerlegen, da prüft man einfach mit dem ``in``-Operator ob das Zeichen in der Zeichenkette enthalten ist.
@SerBlack: Das ist ein binärer Operator wo rechts und links ein Operand steht, also ``a in b`` und der testet ob `a` in `b` enthalten ist. Bei Zeichenketten bedeutet das ob die Zeichenkette `a` in der Zeichenkette `b` vor kommt.