我给出的输入存储在变量“inp”中。当我在下面显示的if条件中比较它时,我没有得到正确的结果。 for循环被执行,但没有显示输出。当我用字符串“bin_A”替换变量时,我得到正确的输出。如何使用if语句比较输入字符串
这里是我的代码片段:
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,什么都不会发生
也许你应该显示数据[work_order] [i] [bin]中的内容? –
什么是数据类型data [“work_order”] [i] [“bin”]'??如果不是str,那么它们永远不会是等于。,同样尝试'str(data [...])',因为打印如你所说... – Copperfield