删除IPython cons中的几行

2024-05-12 13:34:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我对pyton还是个新手,我从9月份开始在Spyder(python3.4)中使用它。我想创建一个解决数独网格的程序,并在完成时显示它(在IPython控制台中)。 我希望成功地完成了数独求解器,并且在输出中得到了一个可打印的网格(我只发布可打印的网格代码):

^{1}$

其中g是一个字符串,包含每行数字,例如SUD1 = '530070000600195000098000060800060003400803001700020006060000280000419005000080079'

^{pr2}$

我的数独解算器每一步都会打印出一个完整的网格,如何将其完全擦除并重写另一个网格?在

非常感谢,很抱歉说脏话。在


Tags: 字符串代码程序网格ipython数字算器spyder
2条回答

在bash中,您只需使用tput,但我知道在Python中没有与此工具等效的工具。但是,您仍然可以打印可以执行此任务的转义代码。在

根据this post,用于将光标移动到上一行并删除它的tput命令是:

tput cuu1
tput el

它将转义码转换成\033[K\033[A。在

所以基本上,你只需根据你的例子做13次,就可以删除完整的数独:

^{pr2}$

我只在Linux的iPython终端上测试过这个解决方案,但没有在Spyder本身测试过,请告诉我它是否有效。在

编辑:请注意这个关于using ^{}的答案。在

在打印声明中添加以下内容:

print(sudoku_pp(SUD1), flush=True, end='\r')

相关问题 更多 >