In Python 3 gab es Antworten darüber, wie eine vorhandene Ausgabe durch eine andere ersetzt werden kann. Diese Antworten schlagen die Verwendung von Ende = '\ r' im Print vor ('Hallo', Ende = '\') Dies funktioniert natürlich, aber es funktioniert nur für eine Zeile.Ersetzen Sie mehrzeilige vorhandene Ausgabe in Python
In dem Programm, das ich unten poste, gebe ich zuerst 5 Zeilen aus, was die Darstellung einer Tabellenmatrix ist. Der Benutzer wird aufgefordert, eine Nummer einzugeben (1-3) und dann wird die Matrix erneut mit einem "X" in der Position gedruckt, die der Benutzer angegeben hat.
Aber wie Sie sehen können, ist die Matrix unterhalb der ursprünglichen gedruckt. Wie kann ich die vorhandene Ausgabe ersetzen?
Wenn ich das Ende = '\ r' verwende, bewegt es den Cursor einfach an den Anfang der Zeile. Aber das funktioniert nicht für mich, weil ich 5 Zeilen drucken möchte, und dann den Cursor an den Anfang der ersten Zeile und nicht an den Anfang der fünften Zeile bewegen (wie das Ende = '\ r' tut).
Wie konnte ich dies in Python erreichen?
from __future__ import print_function
list1=[' '*11,'|',' '*7,'|',' '*10]
def board():
print ('\t \t | \t \t |')
print (list1)
print ('\t \t | \t \t |')
#print '\n'
print
def playerone():
player1 = raw_input("PLAYER1: enter your position 1-3: ")
if (player1 == '1'):
list1[0]=' '*5 + 'X'+' '*5
elif (player1=='2'):
list1[2]=' '*3 + 'X'+' '*3
elif (player1=='3'):
list1[4]=' '*3 + 'X'+' '*6
else:
playerone()
print ('our board is : ')
board()
playerone()
print ('our board is :')
board()
ich jupyter verwende. Und in Python 3 funktioniert das nicht. In meinem Fall zumindest. – spyimp