2015-10-16 7 views
0

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

Контекст: головоломка буквально головоломка из строк и столбцов, строк и слова является слово, которое мы ищем в головоломке

Первая функция

def lr_occurrences(puzzle, word):  
    return puzzle.count(word) 

Вторая функция

def do_tasks(puzzle, name):  
    print('Number of times', name, 'occurs left-to-right: ', end='')  
    lr_occurrences(puzzle, name) 

И все же, когда я звоню

do_tasks(PUZZLE1,'whatever') 

в оболочке, единственное, что всплывает это «Сколько раз ...» вещь, однако, если я называю

lr_occurences(PUZZLE1,'whatever') 

это работает прекрасно возвращая значение.

Любые идеи?

ответ

0

Вы вызываете lr_occurrences(puzzle, name) и затем отбрасываете результат. Либо распечатайте его, как раньше, в этой функции, либо верните его.

def do_tasks(puzzle, name):  
    print('Number of times', name, 'occurs left-to-right: ', end='')  
    print(lr_occurrences(puzzle, name)) 

Или:

def do_tasks(puzzle, name):  
    print('Number of times', name, 'occurs left-to-right: ', end='')  
    return lr_occurrences(puzzle, name) 

Если вы вернуть его, вам придется напечатать вызов do_tasks, например, print(do_tasks(PUZZLE1,'whatever')), чтобы он появился.

+0

Ahhhhh Я попробовал распечатать его, но он дал синтаксическую ошибку, поэтому я думал, что ошибаюсь, оказывается, я забыл положить скобки haha. Благодаря! –

0

Вы никогда ничего не делаете с возвращаемым значением. Верните его или распечатайте.

0

Ваша do_tasks функция должна выглядеть следующим образом:

def do_tasks(puzzle, name):  
    print('Number of times', name, 'occurs left-to-right: ', end='')  
    return lr_occurrences(puzzle, name) 

Примечания добавленного return так, что значение, возвращаемое lr_occurrences к do_tasks затем возвращается на do_tasks свой абонент.

Смежные вопросы