我在这里尝试做一些简单的事情,我想将成本变量(100.00)每5分钟增加.01,所以每5分钟之后,我的新值/变量应该是100.01,然后是100.02,然后是100.03,依此类推。
但是我不知道如何将其添加到现有值中。 到目前为止,这是我已经尝试过的方法,我已将300秒缩短为10秒以加快速度。
import time
import datetime
tracking = time.time()
def values():
global tracking
now = datetime.datetime.now()
cost = 100.00
increase = .01
newvalue = []
for x in range(1,1000):
print(x)
time.sleep(2)
if time.time() - 10 > tracking:
newvalue.append(float(increase))
print(newvalue)
print(now)
tracking = time.time()
values()
任何帮助表示赞赏。
答案 0 :(得分:1)
似乎您想要+=
运算符。这样会将右侧的值添加到左侧变量中存储的值中。
import time
import datetime
tracking = time.time()
def values():
global tracking
now = datetime.datetime.now()
cost = 100.00
increase = .01
for x in range(1,1000):
print(x)
time.sleep(2)
if time.time() - 10 > tracking:
cost += increase
print('Cost: {}'.format(cost))
print(now)
tracking = time.time()
values()
还有其他要考虑的问题:
decimal.Decimal
。time.monotonic
。 datetime.now()
可以从外部进行调整(例如,通过ntpdate进行调整),因此您不能假定datetime发生变化。现在表示经过的时间。tracking
存储为全局变量。答案 1 :(得分:0)
尝试一下
import time
def increase_value_evrey_t_sec(initail_value, interval, increase_by,stop_after = -1):
counter = 0
values = []
while counter < stop_after or stop_after == -1:
time.sleep(interval)
initail_value += increase_by
print(initail_value)
values.append(initail_value)
counter += 1
increase_value_evrey_t_sec(2,2,3,4)
increase_value_evrey_t_sec(2,2,3,4)