Python运行代码,即使它是在elif语句中

时间:2017-01-18 16:43:11

标签: list python-3.x

我有一个列表和一个输入。我正在运行这样的代码:

findgtin=input("Enter code to find:")
ProductGtin=[]
ProductGtin.append(56231878)
#list is appended three more times but i cut this bit out#

##IF GTIN CODE EXISTS IN LIST##    
    for word in ProductGtin:
               ##IF GTIN CODE EXISTS:##
                if word==findgtin:
               ##MAIN CODE HERE##
        ##IF GTIN CODE DOES NOT EXIST:##
                if word!=findgtin:
                print ("PRODUCT NOT FOUND")

findgtin是用户的输入,ProductGtin是包含多个8位数字的列表。 每当我运行程序时,我输入第一个输入并打印" PRODUCT NOT FOUND"三次。列表中有四个项目。输入56231878是ProductGtin列表中的第一个。

我知道这里发生了什么,程序在列表中找到输入并运行主程序,然后检查相同的输入与列表中的其他项目,返回PRODUCT NOT FOUND。我尝试重新排序if和elif语句,这不起作用。 我将不胜感激任何帮助,谢谢! :)

1 个答案:

答案 0 :(得分:0)

是的,就像你说的那样。

试试这个

ProductGtin = [56231878, ... ] 
# no need to do 4 individual appends, make the list with all 4 numbers at once

findgtin = int(input("Enter code to find:")) 
#transform the input to int, or store the ProductGtin as strings

if findgtin in ProductGtin:
    # the in operator will tell you if that element is in the list
    ##MAIN CODE HERE##
else:
    print ("PRODUCT NOT FOUND")