我对python非常熟悉新,我正试图用它制作一个简单计时器应用程序。因此,如果我输入一个数字,比如30,代码应该开始倒计时并输出
>>> 30
>>> 29
>>> 28
>>> 27
等等。
我正试着把一些逻辑输入我的大脑。从几天以来,我一直在尝试在不同的地方使用相同的代码来做这件事。
import time
x = input("seconds to blast off: ")
for z in range(x):
timer.sleep(x)
print("blast off")
这就是我写的全部内容,我被困在这里了。
这里有一些事情需要做一些工作。
首先,input
总是返回一个字符串,所以x
也是一个字符串。因此,如果用户输入"30",您将运行for z in range('30'):
,这将出错。相反,应该使用int(x)
将x
强制转换为int。
接下来,是time.sleep
,而不是timer.sleep
我个人实现计数器部分的方法是跟踪开始时间,然后计算结束时间。然后,找到迭代中的时间和结束时间之间的差,并循环,同时该差大于0。它可能看起来像这样:
import time
x = int(input('Number of seconds: '))
end = time.time() + x
while end - time.time() > 0:
print(round(end - time.time()))
time.sleep(1)
试试这个:
import time
sec = int(input('No. of seconds: '))
print(sec)
for s in range(sec):
sec = int(sec) - 1
time.sleep(1)
if sec == 0:
print("Blast Off")
else:
print(str(sec))
你已经非常接近解决方案了。timer.sleep((花费的秒数。尽管如此,你本可以在网上找到这样的答案。