Python не будет вызывать простую тестовую функцию. Но это компилируется нормально. В чем дело? - PullRequest
0 голосов
/ 08 ноября 2018

Я слежу за некоторыми занятиями на Lynda.com, чтобы охватить некоторые основы Python. Я все еще новичок в программировании в целом, но уже делал несколько проектов на Си.

Мы рассмотрели 5 минут, объясняющих, как вызывать функции. А теперь мы покрываем условия. Нет проблем, верно?

Эта простая функция не печатает. Но компилирует нормально. Почему?

def func1():
    x, y = 100, 100

    if (x < y):
        st = "x is less than y"

    elif (x == y):
        st = "x is equal to y"

    else:
        st = "x is greater than y"

    print (st)
    # I have also tried changing this to print(funct1(st)) but still doesn't work. 

В нашем последнем видео под «функциями» его примеры были:

def func1():
  print ("I am a function")

func1()
print (func1())
print (func1)

И это прекрасно работает. Все 3 примера печати и способы вызова функции.

Если я возьму функцию и сохраню логические операторы if и все такое, то она напечатается. Так что я не понимаю, что здесь не так. Заставляет меня чувствовать себя идиотом.

Это использует pycharm IDE и python 3.7, также пытались запустить прямо из консоли CMD. Компилирует и запускает, но ничего не печатает.

Ответы [ 2 ]

0 голосов
/ 08 ноября 2018

Смысл функции в том, чтобы повторно использовать код, поэтому вместо инициализации переменных x и y значением вы можете передать его в качестве аргументов в функцию.

def func1(x, y):
    if (x < y):
        st = "x is less than y"

    elif (x == y):
        st = "x is equal to y"

    else:
        st = "x is greater than y"

    print (st)

# Call the function after having defined it
func1(100, 100) # Outputs: x is equal to y
# You can use the same code to compare even more values
func1(12, 35) # Outputs: x is less than y
0 голосов
/ 08 ноября 2018

Вы определили свою функцию, но не вызываете ее.

def func1():
    x, y = 100, 100

    if (x < y):
        st = "x is less than y"

    elif (x == y):
        st = "x is equal to y"

    else:
        st = "x is greater than y"

    print (st)

# Call the function after having defined it
func1()

Определение функции просто подготавливает ее для использования в будущем. Вы должны фактически вызвать функцию, чтобы запустить код функции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...