Print Funktion ohne einen Zeilenumbruch

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Zakon99
User
Beiträge: 10
Registriert: Mittwoch 17. März 2021, 20:07

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)
Sirius3
User
Beiträge: 18274
Registriert: Sonntag 21. Oktober 2012, 17:20

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")
Zakon99
User
Beiträge: 10
Registriert: Mittwoch 17. März 2021, 20:07

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. :)
Antworten