Доброго времени суток, читатели, зрители моего канала programmer's notes.
Данные заметки это приложение к уроку 6.
Синтаксис Python
В шестом уроке я не много говорил о синтаксисе. Т.е. правилах записи языковых выражений. Надо сказать, что Python не слишком отличается от других алгоритмических языков. Основное отличие заключается в том, что для того, чтобы объединить группу строк в одну условную конструкцию или в один цикл или в одну функции или в один класс используются не скобки, не специальные слова типа begin - end, а просто отступы. Это в значительной степени диктует правила записи программ. Из-за того, что при большом количестве строк, объединенных отступами, читать программу довольно трудно, для Python'а особенно актуальным являются разные конструкции, позволяющие сократить количество таких строк. С другой стороны сильное "сжатие" программы, когда в одной строке могут размещаться с десяток разных действий также усложняет понимание алгоритма. Поэтому очень важен баланс. Ну, а читаемость программы это важный элемент программирования. Об этом много спорят. Я и сам не всегда люблю придерживаться строгих регламентов, полагая, что это несколько убивает творческую сторону программирования. Время от времени я буду возвращаться к этим вопросам в уроках и приложениях к ним. А сейчас продолжим.
И так.
1.
Если нескольким переменным нужно присвоить одно и тоже значение, то возможна такая запись
a = b = c = d = 10
2.
Несколько операторов присвоения можно объединить с использованием запятой
a, b, c, d = 10, 23, 100, 1000
При этом справа могут быть не только константы, но и выражения, куда могут входить другие переменные или эти же, если они ранее были определены.
Например
a, b = 10, 20
a, b = b, a
print(a, b)
Таким образом мы поменяли местами значения переменных. Просто и изящно.
3.
Действия над переменными также можно сокращать
a = a + 10 -> a +=10
a = a - 10 -> a -= 10
a = a * 10 -> a *= 10
a = a / 10 -> a /= 10
a = a // 10 -> a //= 10
Такого типа замена подойдет для разных типов данных, но не для всех типов подобные замены могут давать одинаковый результат. Это довольно интересный вопрос и мы будем возвращаться к нему по мере появления в нашем арсенале новых типов данных.
Задачи на целые числа
Во второй половине урока было разобрано несколько задач. Я не буду к ним обращаться, поскольку в уроке все это было объяснено. Вместо этого разберу другую задачу.
Задача следующая. Дано целое число. Нужно найти все его делители без повторений. Делители 1 и само это число не учитываем.
Поскольку у нас нет с вами средства для запоминания найденных делителей так, чтобы можно было проверить был такой или нет, нужно найти правильный алгоритм, а точнее найти границу, до которой нужно делать проверку. При этом заметим, что делители мы срезу будем получать парами. Например для 100 - 2, 50; 4, 25 и т.д. Граница находится очень просто - это корень квадратный из заданного числа. Легко видеть, что далее будут только повторения.
Вот решение данной задачи. Корень квадратный вычисляется нами как a **0.5.
Всего наилучшего. Оставляйте свои комментарии, не забывайте про лайки и подписывайтесь на мой канал programmer's notes.
#программирование #программисты #python #языки программирования