【发布时间】:2020-06-01 23:49:47
【问题描述】:
我正在尝试用 Python 编写一个函数来确定一个项目是否在列表中。我一直在尝试此代码的变体。
无论我如何尝试,它总是返回一个 FALSE 布尔值。即使我将打印命令放在函数中,它也只会打印错误值的结果。我很确定我将列表正确地传递给函数,但我无法弄清楚为什么它只确定 FALSE 值。有什么想法吗?
def newFunction(x, y, z):
z = 0
if y in x:
z = True
else:
z = False
return (z)
newList = [2,4,6,8,10]
r = input ('Enter a number: ')
s = 0
newFunction(newList, r, s)
if s == True:
print ('The no. IS in the list.')
else:
print ('The no. IS NOT in the list.')
【问题讨论】:
-
input()总是给出字符串,所以你将字符串"2"与数字2进行比较,它总是错误的。您必须转至int()-r = int( input(... ) ) -
我认为你也没有使用函数的结果。
-
顺便说一句:如果你使用
return z,那么你应该得到它作为s = newFunction(list, r) -
较短的
def newFunction(x, y): return (y in x) -
对函数参数的任何重新分配都不会反映在调用上下文中(即您不能使用函数来更改变量的值)。
标签: python list function boolean