首页 > 解决方案 > 我可以创建一个函数来在每个时间间隔两个返回之间切换吗?

问题描述

我正在创建一个程序,我想创建一个函数,该函数每隔 1 秒从两个字符串返回一个字符串,因此它在将一个字符串返回到另一个字符串之间切换。有没有办法在python中做到这一点?

标签: python-3.x

解决方案


是的,您需要检查时间的功能!

为此,您可以使用内置time.time()函数 - 它以浮点数形式返回自 Epoch 以来的当前时间(以秒为单位)。

要使函数每秒更改其输出,您可以查看自 Epoch 以来的秒数是否为偶数。即将输出转换为time.time()整数并检查t % 2或者t & 1- 它们得出相同的结果 - 第一个是检查除以二时是否有余数,第二个是检查最低有效位是否打开 - 如果是甚至。

因此,类似:

import time
def gimme_string():
    if int(time.time()) & 1:
        return 'some string'
    return 'a different string'

要对此进行测试,您可以在解释器中手动调用该函数,您可以看到输出每秒都在变化(我在这里大约每秒调用该函数 3 次)。

>>> gimme_string()
'a different string'
>>> gimme_string()
'some string'
>>> gimme_string()
'some string'
>>> gimme_string()
'a different string'
>>> gimme_string()
'some string'
>>> gimme_string()
'some string'
>>> gimme_string()
'some string'
>>> gimme_string()
'a different string'
>>> gimme_string()
'a different string'
>>> gimme_string()
'a different string'
>>> gimme_string()
'some string'
>>> gimme_string()
'some string'
>>> gimme_string()
'some string'
>>> gimme_string()
'a different string'
>>> gimme_string()
'a different string'
>>> gimme_string()
'a different string'
>>> gimme_string()
'some string'
>>> gimme_string()

推荐阅读