почему я не могу сдать возврат дважды? - PullRequest
0 голосов
/ 11 июня 2019

Я практикую Python, и я не понимаю, почему я получаю эту ошибку.Я пытался найти его, но не могу найти, почему.

Я пытался поставить pass_two = two (x), но это не сработало.это продолжало говорить, что это было неопределенным.

Кто-нибудь может исправить и объяснить, почему?спасибо

def one():
    x = 'blue'
    return x

def two(x):
    y = 'red'
    xy = x+y
    return xy

def three(z):

    w = 'black'
    print('all three passes ' + z+w)

def main():
    pass_one = one()
    two(pass_one)

    pass_two = two()
    three(pass_two)


if __name__ == '__main__':
    main()

1 Ответ

0 голосов
/ 11 июня 2019

Вы определили функцию two для работы с аргументом, поэтому если вы попытаетесь набрать two(), Python выведет TypeError: two() missing 1 required positional argument: 'x'.

Теперь, если вы попытаетесь набрать two(x), не указав x ранее, вы получите NameError.

Может быть, вы хотели написать pass_two = two(pass_one)

...