当随机数达到0时如何结束循环

2024-09-30 14:38:40 发布

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

我不擅长python,也找不到我能理解的解决方案。 我试图让程序输出“随机定时器已经结束”一旦一个随机倒计时已经完成。你知道吗

import time
from random import randint

RandomTimer = randint(1,10) #picks random number of seconds for countdown
while RandomTimer > 0:
    time.sleep(1)
    RandomTimer - 1  #reduces random number every second until it reaches 0
print("random timer ended")

这里的代码不起作用,因为倒计时似乎永远不会结束,即使在10秒之后。我知道有些事我做错了,但我能想出来。你知道吗


Tags: offromimport程序numberfortimerandom
2条回答

您需要更新RandomTimer

import time
from random import randint

RandomTimer = randint(1,10)
while RandomTimer > 0:
    time.sleep(1)
    RandomTimer -= 1
print("random timer ended")

上面的代码将行RandomTimer - 1更改为RandomTimer -= 1

在Python中,变量保存对对象的引用。你知道吗

要“更改”变量,可以更改引用的对象。或引用其他对象。 您没有更新变量:

"in place" update:

import time
from random import randint

RandomTimer = randint(1,10) #picks random number of seconds for countdown
while RandomTimer > 0:
    time.sleep(1)
    RandomTimer -= 1  #reduces random number every second until it reaches 0
print("random timer ended")

或创建新引用:

RandomTimer = randint(1,10) #picks random number of seconds for countdown
while RandomTimer > 0:
    time.sleep(1)
    RandomTimer = RandomTimer -1  #reduces random number every second until it reaches 0
print("random timer ended")

相关问题 更多 >