如何在python的某个指定范围之间找到数字?

时间:2016-07-06 04:46:24

标签: python python-2.7 range

我想找到为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 列是否在特定范围内,但它无法正常工作。

我错过了什么?

2 个答案:

答案 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"`