打印后更改字符串

时间:2014-11-21 23:42:42

标签: python

如果我有一行说明如下:

3 guesses left

在为此打印语句后,我有一个循环,允许用户输入内容并从每次猜测中删除一个例如。

guesses = 3

while guesses > 0:
    guess = input("Have a guess: ")
    guesses -= 1

在最后一行代码之后,如何让它继续迭代while循环,而不是打印出2 guesses left1 guess left0 guess left的额外行,只需更改第一行的数字?

1 个答案:

答案 0 :(得分:0)

您可以将sys.stdout.write\r一起使用。 \r回到行首:

演示:

>>> guess = 3
>>> while guess != 0:
...     sys.stdout.write("\rguess left " + str(guess-1))
...     sys.stdout.flush()
...     time.sleep(2)
...     guess = guess -1

或者您可以在下次打印前清除整个屏幕:

print "\033c"        # python 2x
print("\033c")       # python 3x

你也可以使用unix和windows命令:

import os
os.system('clear')  # unix
os.system('cls')    # windows