Найти - Пользователи
Полная версия: Задачка о АОН
Начало » Python для новичков » Задачка о АОН
1 2
terabayt
py.user.next
Каой же Вы дотошный (в хорошом смысле).
def aon(s): return reduce(lambda x,y: x+x[-1] if y=='#' else x+y, ['#']+[s[i] for i in xrange(len(s)-1) if s[i]==s[i+1] and (s[i]!=s[i-1] or i==0)]).strip('#')
мне так нравилось писать однострочные скрипты, а Вы…
py.user.next
Тут ещё вариант вспомнил (нашёл в разделе временных сравнений).
Это вариант cutwater'а. (Немного переименовал переменные.)

def dec_aon_num(s):
    result = ''
    was_written = False
    for i in range(len(s) - 1):
        if s[i] == s[i + 1]:
            if was_written == False:
                if s[i] == '#':
                    result += result[-1:]
                else:
                    result += s[i]
                was_written = True
        else:
            was_written = False
    return result
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB