我是Python的新手,我决定制作游戏。 我希望像这样输出一个值:
热火:x #x总是会改变
为此,我有以下代码块:
while True:
print("Heat: {}".format(Heat))
但它只是垃圾邮件“Heat:xHeat:xHeat:x” 什么时候应该只有一个热棒 我该怎么办?
答案 0 :(得分:0)
您可以使用回车将光标发送到行的开头。
import sys
while True:
sys.stdout.write("\rHeat: {}".format(Heat))
sys.stdout.flush()
但这种方法听起来并不像你能将它扩展到任何类型的游戏中。
您应该查找python curses
库以完全控制控制台输出。
此外,如果输出中的位数发生变化,那么您可能需要右对齐输出,以免出现任何遗留问题。此代码演示了如果您从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()
答案 1 :(得分:0)
在那段代码中' Heat'在循环中,它将一直打印:
Heat = 0
while True:
Heat +=1
print ('Heat: {heat}'.format(heat=Heat))
在那段代码中' Heat'离开循环,它将被打印一次:
Heat = 0
print ('Heat:')
while True:
Heat +=1
print ('{heat}'.format(heat=Heat))
如果您想要更多换行符,请使用' \ n' char(严格依赖操作系统)。