Programmer's Road
33 subscribers
48 photos
4 files
2 links
Привет! Я Макар, моя цель - стать программистом, тут я буду писать про свои успехи. Надеюсь каждый найдёт для себя что-то полезное.
Download Telegram
"Задачи с шахматами - это отдельный вид страданий".

Именно такие комментарии были по задачами, которые я сегодня решал.

На самом деле решать такие задачи просто, если найти закономерность, я искал закономерности ходов в уме, из-за этого решать было трудно.

Задачу с ладьёй, королём, конём и ферзём я решил без помощи и подсказок, а после мучений с задачей про слона, я нашёл небольшую подсказу, как оказалось я был очень близок к решению.

Наверно, пока это были самые сложные задачки, которые я смог решить)
👍13
Друзья, попробуйте изучить данный код и ответить на опрос ниже.
Что выведет данный код?
Anonymous Quiz
13%
2
8%
-3
63%
3
4%
-89
13%
89
👍9
Channel name was changed to «Programmer's Road»
Подробное объяснение сегодняшней задачи:
👍10
Почему так важно быть внимательным при преобразовании типов данных?

Некоторых программистов раздражает необходимость преобразовывать типы данных.

Но знали ли вы, что в 1996 году ракета "Ариан-5" взорвалась из-за ошибки при преобразовании. Да, не все программы могут повлиять на взрыв ракеты, но может изменить действия программы.
👍13🔥7😱2🤯1
Как писать понятный и красивый код на Python?
Зачем писать чистый код? Если у тебя большой проект или программа, то скорее всего ты будешь его дописывать и дорабатывать. Чем понятнее код, тем быстрее ты сможешь разобраться в нём (или даже коллеги).
В Python есть большая документация по рекомендациям написания чистого кода(PEP-8) и вот несколько пунктов:
1. Переменные
Называйте переменные и функции максимально понятно, полно и сжато, они должны передавать названием их полное содержание, тогда можно будет понять код даже без строчек присваивания.
2. Отступы
Запись математических вычислений с числами в основном влезает в одну строку, а вот с переменными уже нет, поэтому лучше записывать каждый операнд выражения с переменными на отдельной строке. При присваивании значения необязательным аргументам sep и end нежелательно ставить пробел(Правильно: sep="!". Неправильно: sep = "!")
3.Комментарии
Комментарии пишутся после знака решётки(#), для комментария на строчке кода нужно сделать внушительный отступ(2+).
3.Импортирование модулей
Импортировать модули нужно всегда вначале кода и делать пустую строчку между кодом и импортированием), причём импортировать нужно по одному модулю и в таком порядке:
import (название модуля)
*Пустая строка*
from *название модуля* import (название отдельных частей модуля или *)
*Весь остальной код*
5. Как выглядит лучший код?
Если код выглядит как текст на английском языке - это идеально.
👍11🔥3❤‍🔥21
Programmer's Road pinned «Как писать понятный и красивый код на Python? Зачем писать чистый код? Если у тебя большой проект или программа, то скорее всего ты будешь его дописывать и дорабатывать. Чем понятнее код, тем быстрее ты сможешь разобраться в нём (или даже коллеги). В Python…»
Всем привет! Попробуйте изучить картинки и ответить на опрос ниже.
👍7
Какой код, находящий корень квадратного уравнение самый чистый? (Они пронумерованы на картинках) 🤔
Anonymous Quiz
9%
1
14%
2
68%
3
9%
4
👍8🤓5
Обмен значений переменных
Иногда приходится обменять значения двух и более переменных, кто-то пишет такой код для обмена значений:
num1 = num2
num2 = num1
Но он не работает, после таких операций значение переменных будет одинаковым, так как при втором присваивании num1 уже поменял своё значение и к num2 присваивается его же значение.

Можно использовать временную переменную:
temp = num1
num1 = num2
num2 = temp
Но в Python есть способ легче:
num1, num2 = num2, num1
👍10🔥5
Привет! Попробуй изучить код и ответить на вопрос ниже
👍9
👍9🤯4
Сигнальные метки(флажки)

Если одна часть программы должна узнать о происходящем в другой части программы, то можно использовать флажки(flag = True, flag = False или is_even = False).

Например, нам нужно написать программу которая из 3 введённых чисел определяет их чётность, если все чётные то выводит "all are even", если нет, то "odd"

for i in range(10):
number = int(input())
if number % 2 == 0:
print("all are even")
else:
print("odd")

При таком коде, программа выведет информацию про каждое число, а нам нужно про все вместе.

flag = True

for i in range(10):
number = int(input())
if number % 2 != 0:
flag = False

if flag:
print("all are even")
else:
print("odd")

Такая программа будет работать правильно.
👍11🤔2
Как найти сумму чисел от 1 до X

Первое, что приходит в голову - это цикл for

number = int(input())
total = 0
for i in range(1, number):
total += i
print(total)

Но для более короткого и быстрого способа есть формула
(X * (X + 1)) / 2

В итоге, мы получаем такой код:

number = int(input())

print((number * (number + 1)) / 2)
👍12🤔3🤯2