Member 13833236 Ответов: 3

Как запустить программу


Каждый раз, когда я запускаю его, он говорит return outside function. Что же мне делать?

Что я уже пробовал:

chars = "ACGT"

def neighbors(pattern, d):
    assert(d <= len(pattern))

if d == 0:
    return [pattern]

r2 = neighbors(pattern[1:], d-1)
r = [c + r3 for r3 in r2 for c in chars if c != pattern[0]]

if (d < len(pattern)):
    r2 = neighbors(pattern[1:], d)
    r += [pattern[0] + r3 for r3 in r2]

return r

3 Ответов

Рейтинг:
2

User 7429338

В python отступ имеет важное значение. Все, что относится к определению соседей, должно быть выделено хотя бы один раз.


Рейтинг:
1

OriginalGriff

Если вы получите сообщение об ошибке, которое не понимаете, погуглите его: return outside function - поиск в Google[^] и пройдите по нескольким ссылкам.
Это довольно очевидно, если вы просто прочитаете сообщение об ошибке!


Рейтинг:
0

Patrice T

Цитата:
Каждый раз, когда я запускаю его, он говорит return outside function. Что же мне делать?

с Python, вдавливание имеет значение, это это структура вашей программы- это не просто презентация. Нужно быть особенно осторожным с ним.
chars = "ACGT"

def neighbors(pattern, d):
    assert(d <= len(pattern))

    if d == 0:
        return [pattern]
    
    r2 = neighbors(pattern[1:], d-1)
    r = [c + r3 for r3 in r2 for c in chars if c != pattern[0]]
    
    if (d < len(pattern)):
        r2 = neighbors(pattern[1:], d)
        r += [pattern[0] + r3 for r3 in r2]
    
    return r