1 Модуль. Python. Первая программа, арифметические выражения
Установка среды разработки
Для решения школьных олимпиад по информатике подходят 3 современных языка программирования: Python, C++ и Java. У каждого из данных языков программирования есть свои достоинства и недостатки, в том числе и для использования их на олимпиадах. Данный курс будет посвящен изучению программирования с использованием языка Python.
Главным его достоинством по сравнению с C++ и Java является простота освоения. Также у него есть и серьёзный недостаток: программы на Python работают медленно. Это может создавать определённые проблемы. Например, на олимпиадах могут встретиться задачи, которые невозможно сдать на языке Python в установленных ограничениях. Но в некоторых задачах решение на Python будет существенно проще.
Python — это современный язык программирования, работающий на всех распространённых операционных системах. В настоящее время существует две версии языка Python: более старая версия 2 и современная версия 3. Они не вполне совместимы друг с другом: программа, написанная для одной версии языка, может оказаться невыполнимой для другой версии. Но в основном обе версии очень похожи. В рамках курса будет рассматриваться версия 3 данного языка, некоторые из используемых примеров не будут работать с версией 2.
Перед началом работы необходимо скачать интерпретатор Python версии 3 с официального сайта www.python.org. В разделе Download можно скачать последнюю версию, подходящую для операционной системы на вашем ПК. После открытия установщика нужно нажать Install Now, и программа автоматически установится.
Для разработки программ рекомендуется использовать среду разработки Wing IDE 101. Это приложение, в котором можно писать программы, отлаживать их, запускать. Его можно скачать по ссылке wingware.com/downloads/wingide-101. В списке скачивания необходимо выбрать Free editions: Wing 101, а в открывшемся окне — Windows Installer, если ваша операционная система Windows. В случае другой системы подходящий установщик можно выбрать после cлов Other OSes внизу страницы. После загрузки файла необходимо запустить скачанное приложение и следовать указаниям.
Ниже приведён код первой программы на языке Python:
print("Hello, world!")
Данная программа выводит на экран текст Hello, world! с помощью функции print(). В круглых скобках передаются аргументы функции — та информация, которую мы хотим передать функции. Текстовая строчка, которую мы хотим напечатать, заключается в двойные или одинарные кавычки.
Функции print() в качестве аргумента можно передавать не только строки, но и числа, и арифметические выражения. Например:
>>>print(123 + 456)
579
>>>print(2 + 2 * 2 * 6 )
26
Задача 1
Разработчики языка Python придерживаются определённой философии программирования, называемой «The Zen of Python» («Дзен Питона»). Её текст выдаётся интерпретатором Python по команде import this.
Напишите программу, состоящую из одной строки:
import this
Какое первое слово в последней строке выведет эта программа?
Задача 2.
Напишите программу, которая выводит на экран текст
Hello, World!
Обратите внимание на регистр и знаки препинания.
Простейшая программа в языке Python вычисляла арифметические выражения.
Список основных операций для чисел в языке Python:
a + b — сумма;
a - b — разность;
a * b — произведение;
a / b — частное от деления;
a ** b — возведение в степень.
Есть также унарный вариант операции -, то есть операция с одним аргументом. Она возвращает число, противоположное данному. Например:
>>> -(2 + 7)
-9
Общие правила определения приоритетов операций такие:
Сначала выполняются операции возведения в степень справа налево, то есть 2**3**2
Затем выполняются унарные минусы (отрицания).
Далее выполняются умножения и деления слева направо. Операции умножения и деления имеют одинаковый приоритет.
И последними выполняются сложения и вычитания слева направо. Операции сложения и вычитания имеют одинаковый приоритет.
Для изменения порядка действий необходимо использовать круглые скобки.
Например:
>>> (2 + 3) * 5
25
Полезно помнить, что x−−√x (квадратный корень из числа x) — это число xx0.5, так как при возведении его в квадрат, получим само число x .
Обратите внимание, что при вычислении, например, выражения 6 / 2 * 4 на выходе получим 12.0, то есть число типа float. Этот тип используется для представления действительных чисел. В результате операции деления всегда будет получаться число типа float.
Задача 3.
Напишите программу, которая выводит на экран значение выражения 21234.
Задача 4.
Факториал натурального числа n определяется как произведение всех натуральных чисел от 1 до n включительно и обозначается n!:
n!=1∗2∗3∗...∗n
Например, 3!=1∗2∗3=6.
Напишите программу, которая выводит на экран значение 20! (20 факториал).
Задача 5.
Не запуская данный код, ответьте на вопрос: что выведет на экран такая программа?
256
Задача 6.
Не запуская данный код, ответьте на вопрос: что выведет на экран такая программа?
300
Задача 7.
Палиндромом называется число, которое читается одинаково слева направо и справа налево. Например: 121, 4 и 123321 — палиндромы, а 12, 2312 и 123 — нет.
Выведите на экран наименьшее число, которое содержит в десятичной записи все цифры от 0 до 9, делится на 9 и является палиндромом.
Запись числа не должна содержать ведущих нулей. Например, запись 01 содержит ведущие нули, а 1 — нет.
Задача 7.
Напишите программу, которая подсчитает и выведет количество слов длины 10, которые можно составить из букв a, b, c.