1

我正在尝试在 Python(Windows 上为 3.3.2)中制作与此类似的游戏。我认为大多数编程都是相当基础的,所以对于初学者来说这很容易。我无法理解的是如何让一行代码在保持在同一位置的同时不断更改(我试图描述您拥有的糖果数量[如果您看起来该行仍然在同一个地方物理强度变化])。我了解您将不得不执行以下操作:

candiesNbrDisplay = 'You have ' + str(candiesNbrOwned) + ' candies!'
candiesNbrOwned = candiesNbrOwned + 1
time.sleep( 1)

但是没有这个你怎么改变数字!

4

2 回答 2

0

这适用于 Unix(Mac OS X 10.8.5,带有 Python 2.7.2):

import time
import sys

for i in xrange(1, 10):
    print "\rThe number of candies is %d and the pile is growing" % i,
    sys.stdout.flush()
    time.sleep(1)
print ""

我不知道它是否适用于 Windows 或 Python 3。

于 2013-10-15T04:21:17.423 回答
0

Jonathan 建议在每行末尾使用 CR。你可以通过传递一个额外的参数来做到这一点print

candies = 0
while True:
    print('You have', candies, 'candies!', end='\r')
    time.sleep(1)
    candies += 1

通常,print使用 NL ( \n) 字符,表示“跳到下一行”。

但是在这里,我们告诉它使用 CR ( \r) 代替,这意味着“回到当前行的开头”。这就是我们想要的。

不幸的是,这种技术只适用于命令行,不适用于 IDLE。因此,您必须直接运行脚本(双击其图标)才能使其正常工作。

于 2013-10-15T04:22:14.880 回答