为什么我的if语句测试浮点值总是为假?

时间:2017-06-23 07:55:15

标签: python python-3.x if-statement

import xlrd

file_path = r"C:\Users\Allen\Desktop\数据曲线.xlsx"
table = xlrd.open_workbook(file_path).sheet_by_index(2)
data_current = table.col_values(4)[1:]
data_time = table.col_values(2)[1:]
time_start = []
for i in data_current:
    index = data_current.index(i)
    if float(i) < 0.1 and float(data_current[index+1]) > 1:
        print('come on!')
    else:
        print('a')

我的意见:

data_current = ['0.0', '0.0', '1.44']

这只是一个例子,但实际数据遵循相同的结构。

为什么我的输出总是a,而永远不会come on!

1 个答案:

答案 0 :(得分:1)

data_current.index(i)将返回第一个匹配,因此'0.0' index始终为0

使用enumerate() function来提供正在运行的索引:

for index, i in enumerate(data_current):

考虑到index + 1可以 范围内的有效索引。