检查列表中的数字

时间:2013-04-15 12:21:53

标签: python python-3.x

我很困惑为什么我在for语句中没有if语句,

试着澄清这一点,抱歉不清楚。

lists = [1,2,3,4,5,6]
userList = []
for i in range(5):
    userList.append(input("Please enter a number :"))
for L in userList:
     if L in lists:
        print("It is in it")
    else:
        print("It is NOT in it")  

我希望它可以打印"它在其中"如果userList中的数字应该在列表中。

因此,用户在1到6之间输入的任何数字都将打印"它在其中#34;。

也很抱歉说python 2,我的错误。

2 个答案:

答案 0 :(得分:2)

input()返回一个字符串,而不是代码中预期的int。

使用此

userList.append(int(input("Please enter a number :")))

int()会将字符串转换为int。

答案 1 :(得分:1)

一个可以在Python2.X和python3.x中运行的版本......不知怎的更复杂。

lists = [1,2,3,4,5,6]
userList = []
for i in range(5):
    userList.append(input("Please enter a number :"))

print lists
print userList

for L in map(lambda x:int(x),userList):
    if L in map(lambda x:int(x),lists):
        print(L," is in it")
    else:
        print(L," is NOT in it")

输出:

Please enter a number :1
Please enter a number :3
Please enter a number :5
Please enter a number :7
Please enter a number :8
[1, 2, 3, 4, 5, 6]
[1, 3, 5, 7, 8]
1  is in it
3  is in it
5  is in it
7  is NOT in it
8  is NOT in it

它可以准确打印您想要的内容。