如何使用if语句比较输入字符串

时间:2016-01-09 22:44:53

标签: python

我提供的输入存储在变量“inp”中。当我在下面显示的if条件下进行比较时,我得不到正确的输出。执行for循环,但不显示输出。当我用字符串“bin_A”替换变量时,我得到正确的输出。

以下是我的代码片段:

def main():
    with open("apc.json") as data_file:
      data = json.load(data_file)

    inp = raw_input("enter name") 
    print "read the input", str(inp)   
    for i in range(0,12):

      if data["work_order"][i]["bin"] == inp :  #have tried repr(inp)
          print data["work_order"][i]["bin"]
          print "gotcha", i
          print data["work_order"][i]["item"]

if __name__ == '__main__':
    main()

注意: print data["work_order"][i]["bin"]的输出是Bin_A。因此,当我尝试将输入作为Bin_A时,没有任何反应

1 个答案:

答案 0 :(得分:2)

考虑data来自

data = json.load(data_file)

然后您可能需要将变量iint转换为str

if data["work_order"][str(i)]["bin"] == inp

或者,由于您似乎多次使用i,您可以直接说

for i in map(str, range(0,12)):