LINUX.ORG.RU

История изменений

Исправление Psych218, (текущая версия) :

checkio = lambda text: max(letters, key=text.lower().count)

Так писать не рекомендуется. Это ничем не лучше, чем нормальное.

from string import ascii_lowercase
def checkio(text):
    return max(ascii_lowercase, key=text.lower().count)

А там чисто ухудшение читабельности ради ухудшения читабельности. Функции надо определять через def (на то оно и есть в языке, сразу видно, что функция, а не фигня какая-то), а не лямбды, лямбды для другого (как раз когда имя функции и не нужно). А зачем ascii_lowercase as letters — вообще не понятно, чисто чтобы лапши побольше, чтобы когда увидишь (в реальном проекте, не на две строки) это letters, искать, где же такое letters объявлено.

Чисто пример, как делать не надо. Хотя полагаю, юзер не специально, а наверное там количество строк просто считается — чем меньше, тем лучше. Иногда это, конечно, хорошее правило, но очень далеко не всегда, и не является целью. readability counts.

P. S. А ещё ascii_lowercase — это не все буквы. С кириллицей не будет работать.

Исходная версия Psych218, :

checkio = lambda text: max(letters, key=text.lower().count)

Так писать не рекомендуется. Это ничем не лучше, чем нормальное.

from string import ascii_lowercase
def checkio(text):
    return max(ascii_lowercase, key=text.lower().count)

А там чисто ухудшение читабельности ради ухудшения читабельности. Функции надо определять через def (на то оно и есть в языке, сразу видно, что функция, а не фигня какая-то), а не лямбды, лямбды для другого (как раз когда имя функции и не нужно). А зачем ascii_lowercase as letters — вообще не понятно, чисто чтобы лапши побольше, чтобы когда увидишь (в реальном проекте, не на две строки) это letters, искать, где же такое letters объявлено.

Чисто пример, как делать не надо. Хотя полагаю, юзер не специально, а наверное там количество строк просто считается — чем меньше, тем лучше. Иногда это, конечно, хорошее правило, но очень далеко не всегда, и не является целью. readability counts.