def clr(str): str = str.replace('0'*LENGTH, '') return str из строки нужно удалить подстроки из нулей длиной LENGTH. согласно Replace a substring in a string with null in python эта конструкция, по идее, должна это делать, но не делает. где ошибка?
Выяснила, что оно не работает, если количество запрашиваемых на удаление нулей в строке больше, чем фактическое количество нулей в данной строке щас сделаю скрины для пояснения Про Python - Справочник - string.replace Ещё смотри, правильно ли ты вызываешь функцию. По поводу версий не скажу, у меня на 3.6.* работает
Если LENGTH объявлен и отступы правильные, то работать будет. Но, если условие, что удаляться должно при кол-ве нулей == LENGTH, то метод replace тут не подойдет совсем. Если цель обучение, то лучше самостоятельно алгоритм реализовать, имхо. Перебираем посимвольно строку, считаем нули, проверяем условие, удаляем.
Вот эта вот LENGTH - она странная. Я когда вижу переменную капсом сразу думаю про константу, но в питоне константы не так задаются. Если это переменная, то у вас там точно область видимости для нее задана? Может быть оно просто не видит ее? Ну и не проще ли в функцию параметр второй передавать, число нулей на удаление?
да, это переменная, в одной обучалке их так называли. в общем косяк был мой, я для глобальной переменной вызывал это как метод, а не как функцию, а сама функция работает.