【发布时间】:2016-08-18 10:45:58
【问题描述】:
在 python 3 中,已经有关于如何用另一个替换现有输出的答案。 这些答案建议在 print('hello', end='\r') 中使用 end='\r' ad 这当然有效,但它只适用于一行。
在我下面发布的程序中,我首先输出 5 行表示一个表格矩阵。要求用户键入一个数字 (1-3),然后在用户指定的位置再次打印矩阵并带有“X”。
但正如您所见,矩阵打印在初始矩阵的下方。如何替换现有的输出?
如果我使用 end = '\r' 它只会将光标移动到行首。但这对我不起作用,因为我想打印 5 行,然后将光标移动到第一行的开头,而不是第五行的开头(就像 end='\r' 一样)。
如何在 python 中实现这一点?
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()
【问题讨论】:
标签: python python-2.7 python-3.x ipython jupyter-notebook