Форум сайта python.su
Нуждаюсь в помощи, подкорректируйте код и скажите какие есть стилистические, или практические ошибки которых стоит избегать.
Создать функцию, в которой повторяющиеся символы в строке будут выводиться один раз. Пример:
bez_povtorov_symbols_ebat('AAABBBCCC') >>> ['A','B','C'] bez_povtorov_symbols_ebat('AAAaaaAAA') >>> ['A','a','A']
def bez_povtorov_symbols_ebat(stroka): result = [] for index_of_symbol in range(len(stroka)): if index_of_symbol == 0: continue else: if stroka[index_of_symbol] ==stroka[index_of_symbol-1]: continue else: result.append(stroka[index_of_symbol-1]) return(result) bez_povtorov_symbols_ebat('aaaazzzzvvv')
Отредактировано Funee_monkee (Авг. 10, 2021 01:18:37)
Прикреплённый файлы:
изображение_2021-08-09_232234.png (31,0 KБ)
Офлайн
Funee_monkeeпосмотри как на форуме выкладывают свой код,это сверху в редакторе сообщений рядом со смайлом теги,
Нуждаюсь в помощи, подкорректируйте код и скажите какие есть стилистические, или практические ошибки которых стоит избегать.
print("hello world")
Офлайн
Funee_monkeeОн, скорее всего, не пуст, а просто не выводится на экран, так как print() нет для результата. Может быть всякое, конечно, так что запустить твой код и проверить, что там происходит на самом деле, мы не можем, так как ты запостил картинку. Переписывать твой код с картинки в исходник просто лень. Тут есть теги code, в них и надо писать, потому что это можно просто скопировать и запустить.
Ниже прикрепил скрин моего кода, при выполнении, массив result всегда пуст
[code python]
тут код типа
[/code]
Funee_monkeeНадо проверить пустой список, надо проверить список с одним элементом, надо проверить последний элемент. И естественно, не надо проверять на каждом шаге цикла, является ли этот элемент первым, так как информация эта становится известна на первом шаге цикла и остаётся известной до конца. Если там миллион элементов будет, то он будет миллион раз проверять то, что и так известно. Поэтому всё это надо проверить до входа в цикл.
Нуждаюсь в помощи, подкорректируйте код и скажите какие есть стилистические, или практические ошибки которых стоит избегать.
Отредактировано py.user.next (Авг. 10, 2021 01:25:57)
Офлайн
def bez_povtorov_symbols_ebat(stroka): result = [stroka[0],] for char in stroka: if char == result[-1]: continue else: result.append(char) return result print(bez_povtorov_symbols_ebat('aaaazzzzvvv'))
[code python][/code]
Офлайн
def double_sumbol(s: str): """ Ищет в переданной строке двойники символов. Возвращает список с символами, которые встречались в строке. :param s: str :return: List[str] """ tmp = '' arr = [] for i in s: if tmp != i: arr.append(i) tmp = i return arr a = 'AAABBBCCC' b = 'AAAaaaAAA' print(double_sumbol(a)) print(double_sumbol(b))
>>> ['A', 'B', 'C'] >>> ['A', 'a', 'A']
Отредактировано OlegHemp (Авг. 11, 2021 14:43:29)
Офлайн