gpt4 book ai didi

python - 在 mac 上覆盖 python 3.x 中的打印行

转载 作者:行者123 更新时间:2023-11-28 22:45:33 35 4
gpt4 key购买 nike

我正在尝试编写一个涉及使用抛硬币、正面或反面的程序,但它会打印“正面”然后被“反面”替换并继续这样做直到它决定答案.

目前,当我运行程序时,它每次都会在下一行打印“正面”或“反面”。这在空闲和终端上都会发生。

我试过使用回车符 (\r)、退格符 (\b) 以及 sys.stdout.write() 和 .flush() 但都不起作用,它只是在下一行继续打印。

是否有其他方法可以删除已打印的内容,或者是否有其他我可以使用的软件?这是我的代码:

import time
import random

offset = random.randint(0,1)

for i in range (0, 20+offset):
if i % 2 == 0:
print("Heads")
else:
print("Tails")
print("\r")
time.sleep(0.1)

最佳答案

print 将一个 \n 字符写到末尾,因此如果您想保持在同一行,则需要修改它。

import time
import random

offset = random.randint(0,1)

for i in range (0, 20+offset):
if i % 2 == 0:
print("Heads", end='')
else:
print("Tails", end='')
print("\r", end='')
time.sleep(0.1)

编辑:这只适用于 python 3,如果你想在 python 2 中使用它,那么你需要写入 sys.stdout

import time
import random
import sys

offset = random.randint(0,1)

for i in xrange(0, 20+offset):
if i % 2 == 0:
sys.stdout.write("Heads")
else:
sys.stdout.write("Tails")
time.sleep(0.1)
sys.stdout.flush()
sys.stdout.write("\r")

我知道这可能不是最快的实现,但它有效,我可以稍后输入更快的方法

关于python - 在 mac 上覆盖 python 3.x 中的打印行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28514938/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com