-1

我对为什么在 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 之间输入的任何数字都会打印“它在里面”。

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

4

2 回答 2

2

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

用这个

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

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

于 2013-04-15T12:28:40.523 回答
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

它会打印出您想要的内容。

于 2013-04-15T12:34:31.507 回答