在python 3中,有关于如何用另一个替换现有输出的答案。 这些答案建议使用end =' \ r'印刷品中的广告('你好',结束=' \ r') 这是工作的,但它只适用于一行。
在我发布的程序中,我首先输出5行,这是表矩阵的表示。要求用户键入一个数字(1-3),然后再次使用' X'来打印矩阵。在用户指示的位置。
但正如您所看到的,矩阵打印在初始矩阵下方。如何更换现有输出?
如果我使用结束=' \ r'它只会将光标移动到行的开头。但这对我不起作用,因为我想要打印5行,然后将光标移动到第一行的开头,而不是第五行的开头(作为结束=' \ r&#39 ;确实)。
我怎么能在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()
答案 0 :(得分:0)
除非你想使用诅咒(这是另一个重要的步骤),否则你不能回过头几行。
但你能做的就是清除屏幕并重新显示所有内容。
print(chr(27) + "[2J")
清除屏幕
(如clear terminal in python中所述)
答案 1 :(得分:0)
您可以在打印电路板之前清除屏幕。
def clearscreen(numlines=100):
"""Clear the console.
numlines is an optional argument used only as a fall-back.
"""
import os
if os.name == "posix":
# Unix/Linux/MacOS/BSD/etc
os.system('clear')
elif os.name in ("nt", "dos", "ce"):
# DOS/Windows
os.system('CLS')
else:
# Fallback for other operating systems.
print '\n' * numlines
在电路板()内部,您可以在打印电路板之前调用清除屏幕()清除屏幕。
答案 2 :(得分:0)
尝试使用终端的清除命令尝试使用便携式解决方案,例如:
define(['app','dataSourceDirectives'],
function (app) {
app.register.controller('data-source.connectionController', ['$scope',
function ($scope) {
$scope.initializeController = function () {
}
}]);
});