Ошибка результата при написании функции тестирования членства в Python 3 - PullRequest
0 голосов
/ 31 мая 2018

Я пытался написать функцию тестирования членства на python, используя список и число.Но это не дает желаемого результата.Я ожидаю получить True или False, но это показывает «Нет».Любые предложения будут оценены.Спасибо.

Вот что я написал в коде:

def bln(x,num):
    x = []
    num = int()
    if (num in x):
        return True

num = 4
x = [i for i in range (1,5)]
print(x)
y = bln(x,num)
print(y)

Вывод:

[1, 2, 3, 4]
None

1 Ответ

0 голосов
/ 31 мая 2018

Вы перезаписали параметры функции, поэтому не используете значения, которые вы передаете.Это правильный путь:

def bln(x,num):
    if (num in x):
        return True

Чтобы уточнить, что вы делаете неправильно.Давайте возьмем для примера функцию, которая умножает два числа:

def multiply_numbers(x,y):
    return x*y

print(multiply_numbers(3,5)) #15 - all good, numbers are correctly multiplied

def multiply_numbers(x,y):

    # x parameter is overwritten here, and will ALWAYS have this values,
    #no matter what value you pass when you call the function
    x = 5 
    y = 5
    return x*y

print(multiply_numbers(3,5)) #25 - with every input you pass
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...