如何在Python2.7中覆盖以前的打印? 我正在做一个简单的程序来计算π。代码如下:
o = 0
hpi = 1.0
i = 1
print "pi calculator"
acc= int(raw_input("enter accuracy:"))
if(acc>999999):
print "WARNING: this might take a VERY long time. to terminate, press CTRL+Z"
print "precision: " + str(acc)
while i < acc:
if(o==0):
hpi *= (1.0+i)/i
o = 1
elif(o==1):
hpi *= i/(1.0+i)
o = 0
else:
print "loop error."
i += 1
if i % 100000 == 0:
print str(hpi*2))
print str(hpi*2))
它基本上在100000次计算后输出电流pi。如何使其覆盖以前的计算?
用回车符
'\r'
作为输出的前缀,不要用换行符'\n'
结束输出。这将把光标放在当前行的开头,因此输出将覆盖其内容的前面。用一些尾随空格填充以保证覆盖。E、 g像往常一样用
print
输出最终值。我相信这在大多数*nix终端仿真器和Windows控制台中都应该有效。但这是最简单的方法。
签出this answer。基本上
\r
工作正常,但是您必须确保打印时没有换行符。这不起作用,因为每次都会打印一个新行,而
\r
只会返回到上一个新行。在
print
语句中添加逗号将阻止它打印换行符,因此\b
将返回到您刚才编写的行的开头,您可以重写它。相关问题 更多 >
编程相关推荐