我想找到为Python函数输入的数字。输入值不固定;它可能有数千,缺乏或核心。
我正在使用Python 2.7。
示例:
kubectl create configmap foo --from-file foo.properties -o yaml --dry-run | kubectl replace -f -
input.csv -
def check(number):
if(10000 <= number <= 50000):
print "Number is between 10000 & 50000"
if(50001 <= number <= 100000):
print "Number is between 50001 & 100000"
if(100000 <= number <= 500000):
print "Number is between 100000 & 500000"
if __name__ == "__main__":
with open("input.csv", "r+b") as f:
m = mmap.mmap(f.fileno(), 0)
reader = csv.DictReader(iter(m.readline, ""))
for read in reader:
num = read['time']
check(num)#calling check function
我正在阅读input.csv文件。我想检查 time
404907
404863
404345
403630
403562
120279146
120279128
216870
58460
列是否在特定范围内,但它无法正常工作。
我错过了什么?
答案 0 :(得分:1)
您的num
是一个字符串,您将其与整数进行比较。在Python 2中,将字符串与整数进行比较是合法的,但结果不会有用(在Python 3中,这是一个错误)。
您需要致电check(int(num))
进行比较才能按预期工作。
答案 1 :(得分:0)
您必须检查int(num)
而不是num
,因为您需要比较integer vs integer
你的第三个条件似乎也有一个拼写错误
if(100000 <= number <= 500000):
print "Number is between 100000 & 500000
我认为你应该有以下一行:
if(100001 <= number <= 500000):
print "Number is between 100001 & 500000"`