Seite 1 von 1

Print Funktion ohne einen Zeilenumbruch

Verfasst: Mittwoch 17. März 2021, 20:11
von Zakon99
Hi alle zusammen.
Ich bin neu in Python und versuche ein Tic Tac Toe zu erstellen.
Die Ausgabe hier ist jetzt:
1|
2|
3| ....
Wobei ich das ganze ja als 1|2|3| haben möchte. Mir ist bewusst das es so ist weil ich immer eine neue Printfunktion habe frage ist nur ob ich das irgendwie wegbekomme?
Danke im Voraus. :)

Code: Alles auswählen

def felderstellen():
    feld = ['1','2','3',
            '4','5','6',
            '7','8','9']

    return feld

def feldausgabe(feld):
    felder = 0
    spalte = 3
    zeile = 3

    for y in range(zeile):
        print("\n")
        for x in range(spalte):
            print(feld[felder],"|")
            
            felder = felder+1


if __name__ == '__main__':
    felderstellen()
    feld = felderstellen()
    feldausgabe(feld)

Re: Print Funktion ohne einen Zeilenumbruch

Verfasst: Mittwoch 17. März 2021, 21:03
von Sirius3
Die offensichtliche Lösung ware, die Dokumentation zu `print` zu lesen, und den Parameter end zu finden.

Statt zwei for-Schleifen und einem händisch gezählten Index, iteriert man direkt über die Elemente einer Liste. Wenn man zusätzlich einen Index braucht, benutzt man enumerate:

Code: Alles auswählen

def feldausgabe(feld):
    for index, zelle in enumerate(feld):
        print(zelle, end="|" if index % 3 < 2 else "\n")

Re: Print Funktion ohne einen Zeilenumbruch

Verfasst: Donnerstag 18. März 2021, 20:14
von Zakon99
War wohl einfach zu Voreilig. Habe das ganze jetzt einfach mit einem:

Code: Alles auswählen

print("|",feld[felder],"| ", end="")
gelöst. Danke trotzdem für deine Hilfe. :)