Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование на языке Python. Учебное пособие.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
1 Мб
Скачать
☆
Пример программы, осуществляющей несколько элементарных вычислений:
Входные данные:
Выходные данные:
Alex
What is your name? Hello, Alex!
Входные данные:
Выходные данные:
5 7 57
print(5 + 10) print(3 * 7, (17 - 2) * 8)
print(2 ** 16) # две звёздочки означают возведение в степень print(37 / 3) # один слэш – это деление с ответом-дробью print(37 // 3) # два слэша считают частное от деления нацело
# это как операция div в других языках
print(37 % 3) # процент считает остаток от деления нацело
# это как операция mod в других языках
>> 15 >> 21 120 >> 65536 >> 12.333333333333334 >> 12 >> 1
Ввод данных в программу реализуется функцией input(). Она считывает
одну строку. В нижеприведенной программе считывается имя пользователя и программа приветствует его:
print('What is your name?') name = input() # считываем строку в переменную name
print('Hello, ' + name + '!')
Напишем программу, считывающую два числа и выводящую их сумму.
a = input() b = input() s = a + b print(s)
11
Обратите внимание, что вместо 12-ти программа выводит ошибочное зна-
Выходные данные:
35
Входные данные:
Выходные данные:
5 7 12
чение 57. Дело в том, что Python «сложил» две строки, а не два числа. В Python сложение двух строк осуществляется так: к первой строке приписывается вто­рая. Эта операция называется конкатенацией и будет подробнее рассмотрена ниже.
Особо подчеркнем, что в Python все данные называются объектами и лю­бой объект имеет характерный для него тип (подробнее этот вопрос рассмотрен ниже), а тип объекта в свою очередь определяет, какие операции можно с ним совершать. Например, объекты типа int (целый) можно перемножать, а объекты типа str (строка) перемножать нельзя:
first = 5 second = 7 print(first * second) first = '5' second = '7'
print(first * second) # недопустимая операция для типа str
При исполнении кода в последней строке будет выдано сообщение о недо­пустимой операции: TypeError: Can't multiply sequence by non-int of type 'str'.
Преобразовать строку из цифр в целое число можно с помощью функции int(). Например, int('23') вернет целое число 23.
Вот правильный вариант вышеприведенной ошибочной программы, кото­рая считывает два числа и выводит их сумму:
a = int(input()) b = int(input()) s = a + b print(s)
12

Типы данных

должны быть одинаковыми в начале и в конце строки, то ес
Данные в Python сгруппированы в различные категории, называемые ти-
пами данных. В Python каждое значение, например 2 или "Hello, World!", называется объектом. Объект характеризуется идентификатором,
типом данных и значением.
"Hello, World!" – объект с типом данных str (сокращенно от англ.
слова string – строка) и значением "Hello, World
!". Строка представляет
собой последовательность из одного или нескольких символов, помещенных в кавычки. Можно использовать одинарные или двойные кавычки, но они
ть "Hello,
World!" или 'Hello, World!'
Символ – это один знак, вроде a или 1. Целые числа (1, 2, 3, 4 и т.д.) имеют тип данных int (сокращенно от англ.
слова integer – целый).
Вещественные (действительные, реальные) числа (числа с десятичной точ-
кой) имеют тип данных float. 2.1, 8.2 и 9.9999 все являются объектами с типом данных float. Они называются числами с плавающей точкой.
2.2 + 2.2
>> 4.4
Объекты, имеющие тип данных bool, называются булевыми или логиче-
скими, они принимают значение True или False, то есть могут быть истин-
ными или ложными.
Объекты с типом данных NoneType всегда имеют значение None. Они
используются для представления отсутствия значения
None

Константы и переменные

Python позволяет выполнять любые математические операции. Заметим,
что при сложении, вычитании и умножении целых чисел результат также явля­ется целым типом, однако при делении целых чисел результат является веще­ственным типом.
13
4 + 3
>> 7
12 / 3
>> 4.0
Разница между константой и переменной состоит в том, что константа в процессе выполнения программы сохраняет свое значение, а переменная мо­жет изменяться. Имя переменной, состоящее из нескольких символов, присваи­вается значению оператором присваивания, в качестве которого используется символ =.
В отличие от большинства языков программирования в Python нет необхо­димости объявлять переменную, ей просто присваивается значение с помощью оператора присваивания.
a = 10 a
>> 10
В следующем фрагменте продемонстрировано изменение значения пере­менной:
x = 10 x x = 20 x
>> 10 >> 20
a = 20 b = 20 c = a + b c d = a - b d
>> 40 >> 0
14
Чтобы увеличить (инкрементировать) или уменьшить (декрементиро-
I способ
II способ
x = 100
>> 101
x = 100
>> 101
x = 100
>> 99
x = 100
>> 99
Оператор
Значение
Пример
Результат
**
Возведение в степень
3 ** 2
9
%
Деление по модулю
19 % 6
1
//
Целочисленное деление
5 // 4
1
/
Деление
5 / 4
1.25
*
Умножение
4 * 3
12
-
Вычитание
5 - 3
2
+
Сложение
4 + 3
7
вать) значение переменной в Python, существуют два равноценных способа:
x = x + 1 x
x = x - 1 x
x += 1 x
x -= 1 x
Переменным можно присваивать любые имена, но необходимо придержи-
ваться следующих правил.
1. Имена переменных не могут содержать пробелы. Если вы хотите ис-
пользовать в имени два слова, укажите между ними знак нижнего подчеркива­ния: например, my_variable = "Строка!".
2. Имена переменных могут содержать только латинские буквы, цифры
и символ подчеркивания.
3. Нельзя начинать имя переменной с цифры.
4. Нельзя использовать ключевые слова в качестве имен переменных.

Арифметические операторы

В таблице приведены наиболее используемые арифметические операторы.
15
Примечание. Деление по модулю возвращает остаток от деления.
Оператор
Значение
Пример
Результат
>
Больше
10 > 5
True
<
Меньше
10 < 5
False
>=
Больше или равно
5 >= 5
True
<=
Меньше или равно
2 <= 7
True
==
Равно
5 == 8
False
!=
Не равно
5 != 3
True
Оператор
Значение
Пример
Результат
and
И
True and True
True
or
ИЛИ
True or False
True
not
НЕ
not True
False
Порядок операций в Python полностью совпадает с принятым в математи­ке. Если у операторов одинаковая очередность, как в случае 18 / 6 × 4, операция выполняется слева направо. В данном случае ответом является результат деле-
ния 18 на 6, умноженный на 4, т.е. 12.
(4 + 3) * 5
>> 35

Операторы сравнения

10 > 5
>> True
Примечание. Заметим, что символ = используется для присвоения значе­ния переменной, а не для проверки на равенство. Когда вы видите x = 10, чи­тайте выражение как «x получает 10». Оператор сравнения == используется для проверки равенства, поэтому, если вы видите x == 10, читайте выражение как «x равно 10».

Логические операторы

16
1 == 1 and 2 == 2
>> True
1 == 1 and 10 != 2 and 2 < 10
>> True
1==1 or 1==2 or 1==3
>> True
not 1 == 1
>> False

Условные инструкции

Условная инструкция – это конструкция (оператор), в которой принимает-
ся решение в зависимости от анализа значения переменных и осуществляется ветвление в зависимости от условий.
В условных инструкциях используются ключевые слова if, elif (сокра-
щение от «else if») и else.
Общий вид условной конструкции if-else:
if (условие):
(операторы_1) else:
(операторы_2)
Представленная конструкция работает следующим образом: если усло-
вие истинно, то выполняются операторы_1, если ложно – операторы_2.
home = "Россия"
if home == "Россия": print("Привет, Россия!") else: print("Привет, мир!")
>> Привет, Россия!
17
Можно использовать лишь одну ветвь оператора if:
home = "Россия"
if home == "Россия": print("Привет, Россия!")
>> Привет, Россия!
Можно использовать несколько инструкций if подряд:
x = 2 if x == 2: print("Число: 2.") if x % 2 == 0: print("Число: четное.") if x % 2 != 0: print("Число: нечетное.")
>> Число: 2. >> Число: четное.
Можно вложить одну инструкцию if внутрь другой инструкции if:
x = 20 y = 21 if x == 20: if y == 21: print(x + y)
>> 41
Рассмотрим использование инструкции elif. Если внутри инструкции if-else есть инструкции elif, значение выражения инструкции if оценива- ется первым. Если это выражение равно True, выполняется только его код. Однако если он принимает значение False, тогда оценивается каждая после­дующая инструкция elif. Как только выражение в инструкции elif прини­мает значение True, выполняется ее код и никакой другой. Если ни одна из ин­струкций elif не принимает значение True, выполняется код в инструкции
else.
18
home = "Тайланд" if home == "Япония": print("Привет, Япония!") elif home == "Тайланд": print("Привет, Тайланд!") elif home == "Индия": print("Привет, Индия!") elif home == "Китай": print("Привет, Китай!") else: print("Привет, мир!")
>> Привет, Тайланд!
Пример, где выполняется код в инструкции else, т. к. ни одна из ин-
струкций elif не принимает значение True:
home = "Марс" if home == "Россия": print("Привет, Россия!") elif home == "Казахстан": print("Привет, Казахстан!") elif home == "Тайланд": print("Привет, Тайланд!") elif home == "Мексика": print("Привет, Мексика!") else: print("Привет, мир!")
>> Привет, мир!
Пример кода, содержащего несколько инструкций if и elif:
x = 100 if x == 10: print("10!") elif x == 20: print("20!")
19
else: print("Не знаю!") if x == 100: print("x равно 100!") if x % 2 == 0: print("x четное!") else: print("x нечетное!")
>> Не знаю! >> x равно 100! >> x четное!

Инструкции

В Python различают простые и составные инструкции. Простые инструк­ции выражаются одной строчкой кода, а составные несколькими.
Примеры простых инструкций:
print("Привет, мир!")
>> Привет, мир!
5 + 3
>> 8
Примерами составных инструкций являются инструкции if и else, а также программа, выводящая строку Привет, мир! сто раз.
Составные инструкции состоят из заголовка и тела. Заголовок содержит ключевое слово с двоеточием и одну или несколько строк с отступом. После отступа содержится тело, состоящее из одной или двух простых инструкций. Тело – это строка кода внутри ветви. Заголовок управляет телом. Программа, выводящая Привет, мир! сто раз, состоит из одной составной инструкции:
for i in range(100): print("Привет, мир!")
>> Привет, мир! >> Привет, мир! >> Привет, мир!
…
20
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]