在while True循环中更改输出

2024-05-16 00:51:10 发布

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

我对Python非常陌生,我决定做一个游戏。 我希望输出如下值:

热度:x#x总是在变化

为此,我有以下代码块:

while True:
   print("Heat: {}".format(Heat))

但它所做的只是垃圾邮件“Heat:xHeat:xHeat:x” 当它应该只有一个加热棒 我该怎么办?你知道吗


Tags: 代码trueformat游戏垃圾邮件printheatwhile
2条回答

循环中的代码“Heat”将一直打印:

Heat = 0
while True:
    Heat +=1
    print ('Heat: {heat}'.format(heat=Heat))

在这种情况下,代码会从循环中“加热”,并将打印一次:

Heat = 0
print ('Heat:')
while True:
    Heat +=1
    print ('{heat}'.format(heat=Heat))

如果需要更多换行符,请使用'\n'字符(严格取决于操作系统)。你知道吗

可以使用回车键将光标发送到行的开头。你知道吗

import sys

while True:
    sys.stdout.write("\rHeat: {}".format(Heat))
    sys.stdout.flush()

但这种方法听起来并不能扩展到任何类型的游戏中。你知道吗

您应该查找python^{}库以获得对控制台输出的完全控制。你知道吗

另外,如果输出中的位数发生变化,那么您可能希望右对齐输出,这样就不会有任何剩余。此代码演示了从2位数字转换为1位数字时发生的情况:

import sys
import time

for heat in reversed(range(5, 12)):
    time.sleep(0.5)

    sys.stdout.write("\rHeat: {:>5}".format(heat))
    sys.stdout.flush()

相关问题 更多 >