python 3.5 : if 语句评估为 true 并且什么也不做,即使被告知做某事
python 3.5 : if statement evaluates as true and does nothing, even if told to do something
这对你来说是一场噩梦.. python3.5!
的完全故障
print(value.time() > marketclosed)
打印 True。
if value.time() > marketclosed:
#somecode
不执行 if 语句中包含的代码。
目前在这种情况下使用。没有错误,不是编译器对这个 if 语句的窥视。只是..没什么.
import datetime as dt
for i in range(0,int(total_intervals)):
amount_to_add = dt.timedelta(hours=marketopen.hour,minutes=marketopen.minute) + dt.timedelta(seconds=interval_seconds)*i
basevalue = start_datetime + amount_to_add
value = basevalue
print(value.time())
print(marketclosed)
print(value.time() > marketclosed)
print(value.date())
print(value.date().isoweekday())
if value.time() > marketclosed: # advance to next day
value + dt.timedelta(days=1)
value.combine(value.date(),marketopen)
太可怕了..当一个人正处于伟大的边缘时,就像世界突然停止了一样!
为什么你认为代码没有执行?
您每次都将 'value' 重置为基值,因此您无法看到 'if' 语句中调用的任何效果。
在 'if' 语句中添加一行打印语句以检查它是否正在执行。
我很确定这段代码执行了,它什么也没做,因为 value + timedelta
和 value.combine()
的结果被丢弃了(它们创建了一个新对象而不改变原始对象)。这应该有效:
if value.time() > marketclosed: # advance to next day
value += dt.timedelta(days=1)
value = value.combine(value.date(), marketopen)
Pylint 必须至少将 +
部分报告为 W0104, pointless-statement
。
这对你来说是一场噩梦.. python3.5!
的完全故障print(value.time() > marketclosed)
打印 True。
if value.time() > marketclosed:
#somecode
不执行 if 语句中包含的代码。
目前在这种情况下使用。没有错误,不是编译器对这个 if 语句的窥视。只是..没什么.
import datetime as dt
for i in range(0,int(total_intervals)):
amount_to_add = dt.timedelta(hours=marketopen.hour,minutes=marketopen.minute) + dt.timedelta(seconds=interval_seconds)*i
basevalue = start_datetime + amount_to_add
value = basevalue
print(value.time())
print(marketclosed)
print(value.time() > marketclosed)
print(value.date())
print(value.date().isoweekday())
if value.time() > marketclosed: # advance to next day
value + dt.timedelta(days=1)
value.combine(value.date(),marketopen)
太可怕了..当一个人正处于伟大的边缘时,就像世界突然停止了一样!
为什么你认为代码没有执行?
您每次都将 'value' 重置为基值,因此您无法看到 'if' 语句中调用的任何效果。
在 'if' 语句中添加一行打印语句以检查它是否正在执行。
我很确定这段代码执行了,它什么也没做,因为 value + timedelta
和 value.combine()
的结果被丢弃了(它们创建了一个新对象而不改变原始对象)。这应该有效:
if value.time() > marketclosed: # advance to next day
value += dt.timedelta(days=1)
value = value.combine(value.date(), marketopen)
Pylint 必须至少将 +
部分报告为 W0104, pointless-statement
。