unorderable类型:float()< = lists()

时间:2017-04-07 15:08:58

标签: python gps numbers

我无法得到我的代码来比较两个数字我想要它做的是看一个数字是否更小如果是那么我想要它打印"更小"如果不是那么我希望它结束​​。 lat.csv是52.6169933之类的数字填充,用户输入非常相似。

import csv
lat = float(input("Enter Location Latitude"))
lat = lat - 0.01862
x = 1
with open('lat.csv') as f:
    reader = csv.reader(f)
    arraylat = list(reader)
if float(lat) <= arraylat[x]:
    print("is smaller")
print("end")

Traceback (most recent call last):
  File "C:/Users/Ryan/Documents/python/Map/test.py", line 8, in <module>
    if float(lat) <= arraylat[x]:
TypeError: unorderable types: float() <= list()

1 个答案:

答案 0 :(得分:0)

我看到你提出的示例代码有几个问题,如果你为初学者学习任何Python教程,你应该能够自己修复。 假设我理解你的问题,

with open('lat.csv') as f:
    reader = csv.reader(f)

    for row in reader:
        row = row.split(',')
        is_smaller = False
        for val in row:
            if(lat <= float(val)):
               print("is smaller")
               is_smaller = True
               break
        if is_smaller == True:
            break
print("end")   

is_smaller标志检查是否找到大于输入的值,如果找到,则停止搜索并打印&#34;更小&#34; 阅读csv会很有帮助。