7

Нужно ревью

Недавно решал задачку, и по итогу сделал работающий код, но:

1) не нравится как осуществлён выход из цикла

2) не нравится условие с "=="

и.т.д. до бесконечности..

Нужно ревью

p.s.  я не покупал курс GB, просто решаю найденные задачки.

p.p.s как кидать код в виде

ссылки на специализированный сайт

Просьба толково и по пунктам обосрать объяснить почему код плох.

Правила сообщества

Публиковать могут пользователи с любым рейтингом. Однако!


Приветствуется:

• уважение к читателям и авторам

• конструктивность комментариев

• простота и информативность повествования

• тег python2 или python3, если актуально

• код публиковать в виде цитаты, либо ссылкой на специализированный сайт


Не рекомендуется:

• допускать оскорбления и провокации

• распространять вредоносное ПО

• просить решить вашу полноценную задачу за вас

• нарушать правила Пикабу

Вы смотрите срез комментариев. Показать все
10
хороводоводоведофил
Автор поста оценил этот комментарий

пользуешься f-строками, но не в курсе, что необязательно сравнивать bool (достаточно while flag)? рекомендую пользоваться редактором с проверкой кода на соответствие РЕР8


по поводу удачный он или нет, все зависит от задачи, если это просто тестовое задание, ты написал код за минуту и он выполняет тест, то это нормальный код

если это реальное приложение, то код как минимум не учитывает нестандартный пользовательский ввод, и будет отвечать на него исключениями (преобразование в int, lst[-1])

раскрыть ветку (13)
1
Автор поста оценил этот комментарий

А что в этом плохого?

Выбрасывать исключение если не выполняются условия из ТЗ - абсолютно правильное поведение для программы. Это гораздо лучше, нежели иолчаливое проглатывание ошибки или нарушение формата общения и выдача каких-то левых строк.

раскрыть ветку (6)
5
хороводоводоведофил
Автор поста оценил этот комментарий

да, но имхо, обработка ошибок с понятным выводом еще лучше

раскрыть ветку (5)
Автор поста оценил этот комментарий

Для чего лучше? Если вывод программы идёт на вход другой - то вторая программа получит на вход не то, что ожидала.


Представьте что в этой программе при ошибке игнорируется левый ввод и печатается "неправильный ввод на строке 5", а потом её вывод подаётся на вход такой же программе. Тогда если мы подадим на вход первой программе что-то не то- у второй программы помимо сообщения об ошибке будет ещё и сумма, возросшая на пять. Это, как минимум, странно.

раскрыть ветку (4)
2
хороводоводоведофил
Автор поста оценил этот комментарий

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

раскрыть ветку (1)
Автор поста оценил этот комментарий

Это по сути ни на чём не основанные домыслы. Даже скажу больше: ставлю пять долларов на то что перед этой программой не будет сидеть реальный пользователь, не будет вводить в неё число и всё её практическое применение - в анализе кода программиста и умении работать с тз. А с тз отсебятину без уточнений у заказчика добавлять не стоит.


К слову говоря, уже само слово "сумма" указанное в коде, не соответствует тз. Если бы это была реальная задача и продали бы её, скажем, в индию - было бы у ТС много весёлых приключений, когда индусы бы увидели странные символы

0
Автор поста оценил этот комментарий

Ошибки надо писать в stderr. Делается это так: print(something, file=sys.stderr)

раскрыть ветку (1)
Автор поста оценил этот комментарий

Если их там никто не ожидает, скажем, если программа была запущена в виде демона с перенаправлением stdout, но без stderr - они там и останутся и никто их не увидит никогда. Или же, опять-таки, могут отправится в stdout и всё сломать. Сама идея с stderr хорошая, но ни разу не панацея.

0
Автор поста оценил этот комментарий
Просто f строкам на всяких курсах частенько учат в первые же лекции, а этим вашим булеанам -- нет
раскрыть ветку (4)
0
Автор поста оценил этот комментарий

F строки клёвые. Недоумеваю почему их так поздно сделали

раскрыть ветку (3)
0
Автор поста оценил этот комментарий

А что там со switch case в новой версии?

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Они есть. Но пока не вижу смысла переписывать elif'ы. А f строки полюбил сразу)

0
Автор поста оценил этот комментарий
Верю, просто объяснила почему такие неоднородные знания у тс)
0
Автор поста оценил этот комментарий

+

Спасибо. i'll fix it.

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества