Что будет выведено на экран в результате выполнения следующего кода print 31 12 2019 sep
Перейти к содержимому

Что будет выведено на экран в результате выполнения следующего кода print 31 12 2019 sep

Решение модуля 2.3 из курса для начинающих «Поколение Python»

Ответы на задачи из модуля 2.3 «Поколение Python»: курс для начинающих. Нумерация сквозная и идет именно по задачам.
Предыдущий модуль 2.2 «Поколение Python».

Первые три вопроса

1. Что будет выведено на экран в результате выполнения следующего кода?

print('31', '12', '2019', sep='-')

Ответ: 31-12-2019

2. Что будет выведено на экран в результате выполнения следующего кода?

print(‘Mercury’, ‘Venus’, sep=’*’, end=’!’)
print(‘Mars’, ‘Jupiter’, sep=’**’, end=’?’)

Решение: Mercury*Venus!Mars**Jupiter?

3. Сколько строк будет распечатано в результате выполнения следующего кода?

print('a', 'b', 'c', sep='*') print('d', 'e', 'f', sep='**', end='') print('g', 'h', 'i', sep='+', end='%') print('j', 'k', 'l', sep='-', end='\n') print('m', 'n', 'o', sep='/', end='!') print('p', 'q', 'r', sep='1', end='%') print('s', 't', 'u', sep='&', end='\n') print('v', 'w', 'x', sep='%') print('y', 'z', sep='/', end='!')

Ответ: 5.

Четвертый номер:

I like Python

Напишите программу, которая выводит на экран текст «I***like***Python» (без кавычек).

Примечание. Используйте необязательный параметр sep .

Sample Input:

Sample Output:

I***like***Python

Решение:

# При решении используем sep параметр который отвечает какой символ будет использоваться в качестве разделителя строк print('I','like','Python', sep='***')

Пятая задача:

Кастомный разделитель

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

Код:

# Получаем введенные данные через input и присваиваем переменным a = input() b = input() c = input() d = input() # Выводим на экран полученные данные использую разделитель из переменной a print(b, c, d, sep=a)

Шестая задача:

Приветствие

Напишите программу, которая приветствует пользователя, выводя слово «Привет» (без кавычек), после которого должна стоять запятая и пробел, а затем введенное имя и восклицательный знак.

Ответ:

# В переменную name записываем введенное имя name = input() # Выводим на экран привестствие с восклицательным знаком в конце print('Привет,', name, end='!')

Пять последних вопросов

7. Какие из имён допустимы для названия переменных в Python?

Ответ: teacher teacher2 teacher_2

8. Что покажет приведенный ниже фрагмент кода?

language = 'Python' language = 'Pascal' print(language)

Результат: Pascal

9. Какое значение будет находиться в переменной s1 после выполнения следующего кода?

s1 = 'C++' s2 = 'Python' s3 = 'Java' s3 = s2 s1 = s3

Результат: Python

10. Выберите строки кода, соответствующие стандарту PEP 8.

Примечание. Будьте внимательны с пробелами.

Ответы:

  • print(‘Follow PEP8!’)
  • print(‘Follow’, ‘PEP8!’)
  • print(‘Follow’, ‘PEP8′, sep=’**’)
  • name = input()

11. Что будет напечатано в результате выполнения следующей программы?

# print('Java') # print('Ruby') # print('Scala') print('Python', end='+') # print('C++') # print('GO') print('C#', end='=') # print('C') print('awesome') # finish

Правильный текст: Python+C#=awesome

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

Что будет выведено на экран в результате выполнения следующего кода print 31 12 2019 sep

Скачай курс
в приложении

Перейти в приложение
Открыть мобильную версию сайта

© 2013 — 2023. Stepik

Наши условия использования и конфиденциальности

Get it on Google Play

Public user contributions licensed under cc-wiki license with attribution required

Параметры sep, end. Переменные. Комментарии, PEP8. Урок 2

Python. Введение

Вспоминаем прошлый урок
1.
Что такое компьютерная программа?
2. Что такое язык программирования?
3. Сильные и слабые стороны языка Python?
4. Для чего используется команда print()?
5. Для чего используется команда input()?
3

4.

Необязательные параметры sep, end

5.

Параметр sep
5
Что он делает?
print(‘a’, ‘b’, ‘c’)
print(‘d’, ‘e’, ‘f’)
a b c
d e f
print(‘a’, ‘b’, ‘c’, sep=’*’)
print(‘d’, ‘e’, ‘f’, sep=’**’)
a*b*c
d**e**f
sep = separator, разделитель

6.

Параметр sep
6
Необязательный параметр sep, позволяет задать набор символов, с
помощью которых будут разделены аргументы при выводе данных:
print(‘a’, ‘b’, ‘c’)
print(‘d’, ‘e’, ‘f’)
a b c
d e f
print(‘a’, ‘b’, ‘c’, sep=’*’)
print(‘d’, ‘e’, ‘f’, sep=’**’)
a*b*c
d**e**f
sep = separator, разделитель

7.

Параметр end
7
Что он делает?
print(‘a’, ‘b’, ‘c’)
print(‘d’, ‘e’, ‘f’)
a b c
d e f
print(‘a’, ‘b’, ‘c’, end=’@’)
print(‘d’, ‘e’, ‘f’, end=’@@’)
a b c@d e f@@
end = end, конец

8.

Параметр end
8
По умолчанию команда print() после вывода ставит перевод строки
Необязательный параметр end, позволяет установить специальное
окончание с помощью которого будет завершаться вывод данных:
print(‘a’, ‘b’, ‘c’)
print(‘d’, ‘e’, ‘f’)
a b c
d e f
print(‘a’, ‘b’, ‘c’, end=’@’)
print(‘d’, ‘e’, ‘f’, end=’@@’)
a b c@d e f@@
по завершении первой печати вставлена строка @
по завершении второй печати вставлена строка @@

9.

Примечания
Вызов команды print() с пустыми скобками ставит перевод строки
Последовательность символов \n задает перевод на новую строку
Значения по умолчанию у параметров sep и end следующие:
sep = ‘ ‘
end = ‘\n’
# пробел
# перевод строки
Чтобы убрать все дополнительные выводимые символы можно
вызывать команду print() так:
print(‘a’, ‘b’, ‘c’, sep=», end=»)
9

10.

11.

Задача
Что будет выведено на экран в результате выполнения
следующего кода?
print(’31’, ’12’, ‘2019’, sep=’-‘)
11

12.

Задача
Что будет выведено на экран в результате выполнения
следующего кода?
print(’31’, ’12’, ‘2019’, sep=’-‘)
Ответ:
31-12-2019
12

13.

Задача
Что будет выведено на экран в результате выполнения
следующего кода?
print(‘Mercury’, ‘Venus’, sep=’*’, end=’!’)
print(‘Mars’, ‘Jupiter’, sep=’**’, end=’?’)
13

14.

Задача
Что будет выведено на экран в результате выполнения
следующего кода?
print(‘Mercury’, ‘Venus’, sep=’*’, end=’!’)
print(‘Mars’, ‘Jupiter’, sep=’**’, end=’?’)
Ответ:
Mercury*Venus!Mars**Jupiter?
14

15.

Задача «Кастомный разделитель»
Напишите программу, которая считывает строку
разделитель и три строки, а затем выводит указанные
строки через разделитель.
Ввод
Вывод
*
Раз
Два
Три
Раз*Два*Три
В курсе: урок 2.3 стэп 6
15

16.

Переменные

17.

Переменные
17
Переменная — это именованный участок памяти, в котором хранятся
данные
name = ‘Roman’
surname = input()
print(‘Привет,’, name, surname)
в переменной name хранится строка ‘Roman’
в переменной surname хранится вводимый пользователем текст
Любая переменная имеет имя и значение

18.

Имя переменной
1.
18
может содержать только латинские буквы a-z, A-Z, цифры и
символ нижнего подчеркивания _
2. не может начинаться с цифры
3. по возможности должно отражать её назначение
Верное имя
Имя с ошибкой
name1
my_variable
_sum
a
TotalAmount
qwerty12my
5name
переменная
surname$%

19.

Имя переменной
Python — регистрозависимый язык программирования
name и Name — две совершенно разные переменные
Для именования переменных принято использовать стиль
lower_case_with_underscores (маленькие буквы с
подчеркиваниями)
19

20.

Значение переменной
20
Значение переменной — информация, хранящаяся в переменной
В переменной может храниться текст, число и т. д.
Если вы хотите, чтобы у вас была переменная, нужно написать:
=
Оператор
присваивания
Имя переменной всегда должно быть слева
от знака равенства

21.

Значение переменной
Значение переменной можно переприсваивать:
subject = ‘Math’
subject = ‘Computer science’
print(subject)
Оператор присваивания сообщает переменной значение
независимо от того, была ли эта переменная введена
раньше или нет
name1 = ‘Taylor’
name2 = name1
Если у нас имеется переменная, мы
можем делать с её значением все что
угодно, например присвоить другой
переменной
21

22.

Задача
22
Что покажет приведенный ниже фрагмент кода?
language = ‘Python’
language = ‘Pascal’
print(language)

23.

Задача
23
Что покажет приведенный ниже фрагмент кода?
language = ‘Python’
language = ‘Pascal’
print(language)
Ответ:
Pascal

24.

Задача
24
Какое значение будет находится в переменной s1 после
выполнения следующего кода?
s1 = ‘C++’
s2 = ‘Python’
s3 = ‘Java’
s3 = s2
s1 = s3

25.

Задача
25
Какое значение будет находится в переменной s1 после
выполнения следующего кода?
s1 = ‘C++’
s2 = ‘Python’
s3 = ‘Java’
s3 = s2
s1 = s3
Ответ:
Python

26.

27.

Резюме 1.
27
Нео Андерсен
Достиг больших успехов, делал проект
Matrix, в трех версиях.
В командной работе игнорирует общие
правила, любит их нарушать. Но при этом
работает очень быстро.
Его бывшие работодатели говорят, что после его ухода
пришлось переделывать работу заново, потому что никто не
смог разобраться в тексте написанных им программ.

28.

Резюме 2.
28
Бильбо Бэггинс
Считает, что код читается намного больше
раз, чем пишется. Стремится к тому, чтобы
весь код был написан в едином стиле, и
любой мог легко его прочесть.
Придирается к каждой мелочи, работает
вдумчиво, медленно.
Его бывшие работодатели говорят, что за время его работы из
команды уволилось три человека, потому что не могли терпеть
такое занудство.

29.

Резюме 3.
29
Кот Леопольд
Работал в разных компаниях, накопил
много опыта. Считает, что нужно писать в
едином стиле с кодом, который уже есть в
проекте и который может не совпадать с
классическими правилами.
Идеальный командный игрок.
Его бывшие работодатели говорят, что стремление избегать
конфликтов мешало его карьерному росту, но готовы снова с
ним работать.

30.

PEP 8
PEP 8 — это документ, описывающий общепринятый стиль
написания программ на языке Python
Документ создан по рекомендациям Гвидо Ван Россума
PEP = Python Enhancement Proposal
30

31.

Некоторые рекомендации PEP 8
Рекомендация 1. Избегайте использования пробелов сразу
перед открывающей скобкой, после которой начинается
список аргументов функции
Правильно:
print(‘Follow PEP8!’)
Неправильно:
print (‘Follow PEP8!’)
31

32.

Некоторые рекомендации PEP 8
Рекомендация 2. После запятой обязательно нужно добавлять
ровно один пробел
Правильно:
print(‘PEP8’, ‘Rocks!’)
Неправильно:
print(‘PEP8′,’Rocks!’)
print(‘PEP8’,
‘Rocks!’)
32

33.

Некоторые рекомендации PEP 8
Рекомендация 3. Не используйте пробелы для отделения знака
=, когда он употребляется для обозначения необязательных
параметров
Правильно:
print(‘My name’, ‘is’, ‘Python’, sep=’**’, end=’+’)
Неправильно:
print(‘My name’, ‘is’, ‘Python’, sep = ‘**’, end = ‘+’)
33

34.

Wing IDE и PEP 8
Среда Wing IDE имеет встроенную поддержку по
форматированию кода по стандарту PEP 8
Для включения PEP8 в
Wing IDE зайдите в меню
Edit → Preferences
Перейдите к категории
Editor → PEP 8
34

35.

Комментарии

36.

Комментарии
Комментарий — примечание в коде программы, которое
Python игнорирует
Комментарии могут помочь вам или кому-то другому, глядя на
программу спустя некоторое время, понять принцип её
работы
Любую строку можно превратить в комментарий, поместив
перед ней символ #
36

37.

Комментарии
37
Однострочные комментарии:
# Это комментарий
print(‘Python rocks!’)
Комментарий в конце строки:
print(‘Python rocks!’)
# Это комментарий

38.

Чек-лист: повторение пройденного
❏ Я понял/а как работает команда input() и могу применять ее.
❏ Я решил/а ….. задач на Stepik.
❏ Мне понятны преимущества хорошего тона в написании кода.
❏ Я знаю два дополнительных параметра команды print().
❏ Я примерно понимаю, зачем нужны переменные.
❏ Я установил/а дома IDE Wing 101
❏ Мне еще нужно разобраться в .
38

39.

Над созданием курса работали:
«Поколение Python»: курс для начинающих» разработан специально для
Благотворительного фонда развития образования «Айкью Опшн»
авторским коллективом школы BEEGEEK.
Авторы методических указаний для преподавателей:
Ольга Скобина (Ассоциация Российских Тренеров, АРТа)
Тимур Гуев (ОАНО Новая школа)
Роман Белых (БФ развития образования «Айкью Опшн»)
Дизайнеры:
Юлия Уебельман
Ольга Галак (БФ развития образования «Айкью Опшн»)
Редактор:
Наталья Белых
39

Программирование на Python

Б85 Босова, Л. Л. Информатика. 8-9 классы. Начала про­
граммирования на языке Python. Дополнительные главы
к учебникам / Л. Л. Босова, Н. А. Аквилянов, И. О. Кочер­
гин и др. — М. : БИНОМ. Лаборатория знаний, 2020. —
96 с. : ил. — ISBN 978-5-9963-5091-9

Учебное издание входит в состав УМК по информатике для основной
школы авторского коллектива под руководством Л. Л. Босовой, допол­
няя содержание учебников 8 и 9 классов материалами по программиро­
ванию на языке Python. Учебное издание создает условия для выбора
обучающимися языка программирования, обеспечивает возможность
изучения нескольких языков программирования.

Соответствует федеральному государственному образовательному
стандарту основного общего образования и примерной основной образо­
вательной программе основного общего образования.

УДК 004.9
ББК 32.97

Босова Людмила Леонидовна
Аквилянов Никита Александрович

Кочергин Илья Олегович
Штепа Юлия Леонидовна
Бурцева Татьяна Анатольевна

ИНФОРМАТИКА
8—9 классы

НАЧАЛА ПРОГРАММИРОВАНИЯ НА ЯЗЫКЕ PYTHON
Дополнительные главы к учебникам

Редактор М. Полежаева
Оформление: Н. Новак
Технический редактор Е. Денюкова
Компьютерная верстка: Е. Голубова

Подписано в печать 30.08.19. Формат 70×100/16. Усл. печ. л. 7,8.
Тираж 2000 экз. Заказ 2429

ООО «БИНОМ. Лаборатория знаний»
127473, Москва, ул. Краснопролетарская, д. 16, стр. 3,
тел. (495)181-53-44, e-mail: [email protected], http://Lbz.ru

Приобрести книги издательства «БИНОМ. Лаборатория знаний»
можно в магазине по адресу:

Москва, ул. Краснопролетарская, д. 16, стр. 3,
тел. (495)181-60-77, e-mail: [email protected]

Время работы: вторник-суббота с 9 до 19 часов

Заявки на оптовые заказы принимаются
Коммерческим департаментом издательства:
тел. (495)181-53-44, доб. 271, 511, e-mail: [email protected]

Отпечатано в полном соответствии с качеством
предоставленного электронного оригинал-макета в типографии

ОАО «Альянс «Югполиграфиздат», ВПК «Офсет»
400001 г. Волгоград, ул. КИМ, 6. Тел./факс: (8442) 26-60-10, 97-49-40

ISBN 978-5-9963-5091-9 © ООО «БИНОМ. Лаборатория знаний», 2020
© Художественное оформление

ООО «БИНОМ. Лаборатория знаний», 2020
Все права защищены

§ 1-1
Общие сведения
о языке программирования Python

Ключевые слова:
• язык программирования
• программа
• алфавит
• служебные слова
• типы данных
• структура программы
• оператор присваивания

Языки программирования — это формальные языки, предназ­
наченные для записи алгоритмов, исполнителем которых является
компьютер. Алгоритмы, записанные на языках программирова­
ния, называют программами.

Существует несколько тысяч языков программирования. Один
из самых популярных современных языков программирования
называется Python (произносится «пайтон», хотя в России мно­
гие называют язык просто «питон»). Его разработал в 1991 году
нидерландский программист Гвидо ван Россум. Язык Python не­
прерывно совершенствуется, и сейчас большинство программистов
используют его третью версию — Python 3. Именно с этой вер­
сией будем работать и мы.

Python — язык программирования высокого уровня, пред­
назначенный для решения самого широкого круга задач. С его
помощью можно обрабатывать различные данные, проводить ма­
тематические вычисления, создавать изображения, работать с ба­
зами данных, разрабатывать веб-сайты.

§1-1 Общие сведения о языке программирования Python

Для того, чтобы разрабатывать программы на языке Python,
нужно установить на компьютер интерпретатор Python. Во мно­
гих операционных системах, например в macOS и Linux, этот
интерпретатор входит в стандартную поставку и устанавливает­
ся вместе с операционной системой. Чтобы установить Python в
операционной системе Microsoft Windows, скачайте последнюю
версию программы-установщика Python 3 для Windows с офи-
цального сайта http://www.python.org/ (для этого зайдите в меню
Downloads и выберите Windows), запустите загрузившийся файл
и следуйте указаниям установщика. Обратите внимание: в уста­
новщик Python для Windows встроена интегрированная среда раз­
работки IDLE (произносится «айдл»), предназначенная для ввода,
просмотра, редактирования, запуска или отладки программы на
языке Python.

1.1.1. Алфавит и словарь языка

Основой языка программирования Python, как и любого дру­
гого языка, является алфавит — набор допустимых символов,
которые можно использовать для записи программы. Это:

• латинские прописные и строчные буквы (А, В, С, . X, Y, Z,
а, Ь, с, . х, у, z);

• арабские цифры (О, 1, 2, . 7, 8, 9);
• специальные символы (знак подчёркивания; круглые, квад­

ратные скобки; знаки арифметических операций; # — знак
начала однострочного комментария и др.).

В качестве неделимых элементов (составных символов) рас­
сматриваются следующие последовательности символов:

>= и и <);
!= (знак ^);
«»» или ‘ ‘ ‘ (утроенные двойные или одинарные кавычки,
ставящиеся в начале и в конце многострочного комментария).

В языке также существует некоторое количество различных
цепочек символов, рассматриваемых как единые смысловые эле­
менты с фиксированным значением. Такие цепочки символов
называются служебными словами. В таблице 1.1 приведены ос­
новные служебные слова, которые мы будем использовать при
записи программ на языке Python.

Общие сведения о языке программирования Python §1.1

Служебное слово языка Python Значение служебного слова
И
and прервать
break

elif иначе если
else
False иначе
float
ложь

вещественный тип данных
(с плавающей точкой)

input ввод
integer целый

list список
not не
or или
print печать

string строковый тип данных (цепочка
символов)

Для обозначения переменных, программ и других объектов
используются имена (идентификаторы) — любые отличные от
служебных слов последовательности букв, цифр и символа под­
чёркивания, начинающиеся с буквы или символа подчёркива­
ния.

Прописные и строчные буквы в именах различаются, напри­
мер, f и F — две разные переменные.

Длина имени может быть любой. Для удобства рекомендуется
использовать имена, передающие смысл объектов, с длиной не
более 15 символов.

В программах на языке Python (начиная с версии 3) есть возмож­
ность использовать в именах буквы национальных алфавитов (от
русских до китайских иероглифов). Но это считается очень плохим
стилем, так делать не рекомендуется. Подумайте почему.

1.1.2. Типы данных, используемые в языке Python

В языке Python используются различные типы данных

(табл. 1.2). Таблица 1.2

Название Обозначение Допустимые значения
Целочисленный
int (integer) Сколь угодно большие, размер
ограничен оперативной памятью
Вещественный float
Строковый str (string) Любые числа с дробной частью

Любые последовательности
символов из таблицы Unicode

Логический bool (boolean) False и True

В вещественном числе целая часть от дробной отделяется
точкой, при этом перед точкой и после неё должно быть, по
крайней мере, по одной цифре. Пробелы внутри числа недопу­
стимы.

Произвольный набор символов, заключённый в одинарные
или двойные кавычки, считается строковой величиной (строкой).
Строка может содержать любые символы, набираемые на клавиа­
туре, в том числе буквы национальных алфавитов.

В отличие от многих других языков программирования пе­
ременные в языке Python не нужно объявлять. Тип переменной
определяется автоматически в тот момент, когда ей присва
ивается новое значение.

Тип каждой переменной может динамически изменяться по
ходу выполнения программы. Определить, какой тип имеет пере­
менная в текущий момент, можно с помощью функции (команды)

1.1.3. Режимы работы интерпретатора Python

Интерпретатор Python может работать в двух режимах:
• через командную строку (в командном, или интерактивном

режиме), когда каждая введённая команда сразу выполняется;

Общие сведения о языке программирования Python §11

• в программном режиме, когда программа сначала записывает­
ся в файл (обычно имеющий расширение .ру) и при запуске
выполняется целиком.
Изучение языков программирования принято начинать с

программы, выводящей на экран надпись: «Привет, мир!». На
Python соответствующая программа будет иметь вид:

Для вывода на экран последовательности символов (текста,
надписи) используется встроенная команда print. Последова­
тельность символов, которые должны быть выведены на экран,
заключается в двойные кавычки и записывается в круглых скоб­
ках. Вместо двойных кавычек можно использовать одинарные ка­
вычки.

В начале строки (левее команды print ()) не должно быть
пробелов — таково требование языка Python.

Для запуска программы выбираем в меню Пуск —> Программы ->
Python 3.7 -> IDLE. В результате откроется окно Python Shell,
в котором символы »> означают приглашение ввести команду.
После ввода строки нажимаем клавишу Enter. На следующей
строке сразу отобразится результат, а далее — приглашение для
ввода новой команды (рис. 1.1).

G). Python 3.7.3 SI

File Edit Shell Debug Options Window Help

Python 3.7.3 (v3.7.3:ef4ec6edl2, Mar 25 2019, 21:26:53)

[MSC v.1916 32 bit (Intel)] on Win32

Type «help», «copyright», «credits» for more

>>> print («Привет, мир!»)

Рис. 1.1. Работа в командном режиме

Для создания файла с программой в меню File выбираем
пункт New File. В открывшемся окне набираем текст програм­
мы, а затем сохраняем его под каким-нибудь именем (например,
test.py), выбрав пункт меню File —> Save As. Запустить программу
на выполнение можно, выбрав пункт меню Run —> Run Module
или нажав клавишу F5.

Глава 1. Начала программирования

В сети Интернет существуют ресурсы для запуска и отладки про­
WWW грамм на Python в режиме online. Вот некоторые из них:

http://pythontutor.com/visualize. html#mode=edit
http://rextester.eom/l/python3online_compiler
https://www.jdoodle.com/python3-programming-online
https://ideone.com/

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

Программа на языке программирования представляет собой
последовательность операторов (инструкций, команд).

Оператор — языковая конструкция, представляющая один шаг из
последовательности действий или набор описаний.

Запись значения в переменную выполняет оператор присваи­
вания. Общий вид оператора:

Операция присваивания допустима для всех приведённых в
табл. 1.2 типов данных. Выражения в языке Python конструиру­
ются по рассмотренным в учебнике для 8 класса правилам для
алгоритмического языка.

а = 25
b = «Привет ! »
с =1.4 +5.7* а
d =а < с
е = «Мир! » + b
f =х * (а + с) / 3

В правой части оператора присваивания нельзя указывать пе­
ременные, которые не были заранее созданы (определены). Так,
для переменных с и d все входящие в соответствующие выраже­
ния переменные были заданы выше. Последняя строка содержит
ошибку, так как переменная х из правой части ранее не была
создана (определена).

В языке Python разрешено множественное присваивание. За­
пись

Общие сведения о языке программирования Python

равносильна паре операторов присваивания:

При этом считается, что эти два действия происходят парал­
лельно, т. е. одновременно. Если двум переменным присваивается
одно и то же значение, можно применить множественное присва­
ивание «по цепочке»:

Эта запись равносильна паре операторов b = 5 и а = 5.
Для основных арифметических операций в языке Python ис­
пользуются те же обозначения, что и в алгоритмическом языке:

+ — сложение;
— — вычитание;
* — умножение;
/ — деление;
** — возведение в степень.

В языке Python можно использовать сокращённую запись
арифметических операций.

Сокращённая запись Полная запись
а += b
а -= Ь а=а+b
а *= b
а /= b а=а-ь
а ** = 2 а=а *ь

Python — один из самых популярных современных языков
программирования. Это язык программирования высокого уровня,
предназначенный для самого широкого круга задач.

В Python можно работать в двух режимах:
• через командную строку (в интерактивном режиме), когда

каждая введённая команда сразу выполняется;
• в программном режиме, когда программа сначала записыва­

ется в файл (обычно имеющий расширение .ру).

В языке Python используются различные типы данных: це­
лочисленный (int), вещественный (float), строковый (str), ло­
гический (bool) и другие.

Глава 1. Начала программирования

Переменные в языке Python объявлять не нужно; тип пере­
менной автоматически определяется в тот момент, когда ей при­
сваивается новое значение.

Для обозначения переменных, программ и других объектов
используются имена (идентификаторы) — любые отличные от
служебных слов последовательности букв, цифр и символа под­
чёркивания, начинающиеся с буквы или символа подчёркива­
ния.

В программах на языке Python есть возможность использовать
в именах буквы национальных алфавитов, но это считается очень
плохим стилем, и делать так не рекомендуется.

Вопросы и задания

1. Почему язык программирования Python считается универ­
сальным?

2. Что входит в состав алфавита языка Python?

3. Перед вами слова, которые встречаются во многих програм­
мах на языке Python. Как эти слова можно перевести на
русский язык?

1) integer 5) break
2) float 6) while
3) input 7) else
4) print 8) string

4. Каких правил следует придерживаться при выборе имён для
различных объектов в языке Python?

5. Отнесите каждую из следующих последовательностей симво­
лов в к одной из трёх групп: 1 — рекомендуемые имена
переменных в языке Python; 2 — допустимые имена пере­
менных в языке Python; 3 — недопустимые имена перемен­
ных в языке Python.

a) 1 z e) ELSE л) пЗ
ж) SUMMA м) Зп
6) 1 z
в) 31 > з) Summa н) п 3
r) Фу и) дата о) п + 3
Д) z-1 к) 1фУ п) _l_4_5_aAbl2_as555

1) Здесь и далее обозначает пробел.

Общие сведения о языке программирования Python §1.1

6. Установите соответствие между названиями типов данных и

а) Целочисленный 1) str

б) Вещественный 2) bool

в) Строковый 3) int

г) Логический 4) float

7. В чём разница между числами 100 и 100.0 в языке Python?

8. Охарактеризуйте режимы работы интерпретатора Python:

1) командный;
2) программный.

9. В командном режиме введите последовательно следующие
строки:

а = 10
type(а)
а = ’10 10′
type(а)
а = False
type (а)
а = 12.0
type(а)

Сделайте вывод о том, как изменялся тип переменной а.

10. Какая ошибка допущена в следующей программе?

11. Какое значение будет присвоено переменной с в результате
выполнения программы?

а, b = 11, 63
с = Ь = 55
d=Ь + с — а

12. Чему будет равно значение переменной с после выполнения
программы?

а) а = b = 3 б) а = b = 5 в) а = b = 1

а +— 1 а += b а *= 10

с=а+Ь с=2 * а-Ь с = а / (2 * Ь)

Глава 1. Начала программирования

г) а, b = 3, 5 д) а, b = 5, 3 е) ь, а = 5, 2

b += 2 b += а ь **= а
с =Ь / а * 4
с=а+Ь с = 10 * Ь / а

13. Чему будут равны значения переменных а и b после выпол-
нения программы при указанных начальных значениях? Ка­
кими будут типы переменных а и Ь?

а)а = 4иЬ = 0; б) а = 0 и Ь = 0.

а += 1
b += а
а *= Ь
Ь /= 5
а -= а

14. Запишите оператор для:
а) вычисления среднего арифметического sred переменных
х1 и х2;
б) уменьшения на единицу значения переменной к;
в) увеличения на единицу значения переменной i;
г) вычисления стоимости покупки sum, состоящей из не­
скольких тетрадей, нескольких ручек и нескольких ка­
рандашей.

Проверочная работа № 1

1. Какие утверждения ложны?
а) 125 — целое число;
б) -12.0 — отрицательное целое число;
в) ‘Число Пи’ — вещественное число;
г) 7 < 6 — логическое значение;
д) 123.124 — вещественное число;
е) True — строковое значение.

2. По сокращённой записи восстановите полную запись опера-
тора присваивания.

1) в += 7
2) А -= с
3) С -= а — 5
4) А *= b
5) В /= а + 3
6) С /= а + Ь * 2
7) А **= (3 — с)

Организация ввода и вывода данных §1.2

§ 1.2
Организация ввода и вывода данных

Ключевые слова:
• оператор вывода print ()
• формат вывода
• оператор ввода input ()

1.2.1. Вывод данных

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

Для вывода данных из оперативной памяти на экран компью­
тера используется оператор (функция) вывода print ():

Здесь в круглых скобках помещается список вывода — спи­
сок выражений, значения которых выводятся на экран. Это мо­
гут быть числовые, символьные и логические выражения, в том
числе константы и переменные.

Пример. Оператор print (‘s=’, s) выполняется так:

1) на экран выводятся символы, заключённые в одинарные
кавычки: з =

2) на экран выводится значение переменной с именем з.

Если значение переменной s равно 15, и она имеет целочис­
ленный тип, то на экране появится: s>fl5

Обратите внимание: по умолчанию выводимые выражения
разделяются одним пробелом, иначе говоря, разделителем меж­
ду ними является пробел. Оператор print () вставляет между
выводимыми значениями так называемый разделитель (сепаратор,
от англ, separator). Мы можем его изменять, указывая новый
разделитель после слова зер.

Глава 1. Начала программирования

Вариант организа­ Оператор (функция) вывода Результат
ции вывода
print (1, 20, 300) 1 :20’2300
По умолчанию print(l, 20, 300, sep=») 120300

Убрать разделители- print(l, 20, 300, sep=’, ‘) i, 20,: зоо
пробелы
print(l, 20, 300, sep=’\n’) 1
Добавить 20
разделитель-запятую 30

Вывод каждого
значения с новой
строки

Предположим, что мы работаем с натуральными числами,
каждое из которых меньше 100. Тогда на одно число на экране
достаточно выделить 3 позиции: две позиции на запись самого
числа и ещё одну позицию на пробел слева, разделяющий числа.
Записывается это так:

Это форматный вывод: строка для вывода строится с помо­
щью функции format. Аргументы этой функции (а, Ь и с) — это
те величины, которые выводятся; они указываются в круглых
скобках.

Символьная строка слева от точки — это форматная строка,
которая определяет формат вывода, т. е. как именно величины
будут представлены на экране. Фигурные скобки обозначают мес­
то для вывода очередного элемента; число после двоеточия — ко­
личество позиций, которые отводятся на число; на первом месте
выводится значение а, на втором — значение Ь, на третьем — с.
Если цифр в числе меньше, чем зарезервированных под него по­
зиций на экране, то свободные позиции дополняются пробелами
слева от числа. Если указанное в формате вывода число меньше,
чем необходимо, то оно автоматически будет увеличено до мини­
мально необходимого.

Например, числа 12, 5 и 15 будут выведены так:
12 5 15

Числа 12, 5 и 1500 будут выведены следующим образом:
12 51500

Для вывода вещественного числа в списке вывода для каж­
дого выражения указываются два параметра:

Организация ввода и вывода данных §1.2

1) общее количество позиций, отводимых на число;
2) количество позиций в дробной части числа:
d — целые числа (int);
f — вещественные (float);
е — экспоненциальный формат.

Фрагмент программы Результат
выполнения
а=4
print («а=», «». format (а, а * а)) оператора
а = 1/ 3;Ь=1/9 вывода
print ( » «.format(a, b))
a=1 / 3 а= 4 _116
print ( » < : 10.3e>«.format (a))
:оо. 3331,0. ini

При выполнении очередного оператора print () по умолчанию
вывод продолжается в новой строке. Чтобы убрать переход к но­
вой строке, используется параметр end:

print(a, end=»») # убран переход на новую строку
print(b)

1.2.2. Первая программа на языке Python

Пользуясь рассмотренными операторами, составим программу,
вычисляющую длину окружности и площадь круга с радиусом
5,4 см.

Исходным данным в этой задаче является радиус: г = 5,4 см.
Результатом работы программы должны быть величины сиз:
с — длина окружности из — площадь круга, с, s и г —
величины вещественного типа.

Исходное данное и результаты связаны соотношениями, из­
вестными из курса математики: с = 2лг, s = яг2. Программа,
реализующая вычисления по этим формулам, будет иметь вид:

# Программа 1
г = 5.4
с = 2 * 3.14 * г
з=3.14 * г ** 2
print (‘с=’, с)
print ( ‘s=’, з)

Глава 1. Начала программирования

Эта программа верна и решает поставленную задачу. Запустив
её на выполнение, мы получим следующий результат (рис. 1.2).

|R, Python 3.7.3 Shell —1

File Edit Shell Debug Options Window Help

Python 3.7.3 (v3.7.3:ef4ec6edl2, Mar 25 2019, 21:26:53)

[MSC v.1916 32 bit (Intel)] on Win32
Type «help», «copyright», «credits» or «license()» for more
information.

== RESTART: C:/Users/akulll/AppData/Local/Programs
/Python/Python37-32/l.py ==
C= 33.912000000000006
s = 91.56240000000003

Рис. 1.2. Результат вычисления длины окружности и площади круга

Улучшим внешний вид результата, использовав вывод по фор­
мату (рис. 1.3).

|E> Python 3.7.3 Shell d

File Edit Shell Debug Options Window Help

Python 3.7.3 (v3.7.3:ef4ec6edl2 , Mar 25 2019, 21:26:53)

[MSC v.1916 32 bit (Intel)] on Win32
Type «help», «copyright», «credits» or «license ()» for more
information.

== RESTART: C:/Users/akulll/AppData/Local/Programs/Python
/Python37-32/l.py ==
c— 33.9120
s= 91.5624

>>;> d
______________________________________________________ _ Ln: 7 Col: 4

Рис. 1.3. Форматный вывод

И всё-таки составленная нами программа имеет существенный
недостаток: она находит длину окружности и площадь круга для
единственного значения радиуса (5,4 см).

Для того чтобы вычислить длину окружности и площадь кру­
га для другого значения радиуса, потребуется вносить изменения

Организация ввода и вывода данных §1.2

непосредственно в текст программы, а именно изменять оператор
присваивания. Внесение изменений в существующую программу,
по меньшей мере, не всегда удобно (например, когда программа
большая и операторов присваивания много). Ниже вы познако­
митесь с оператором, позволяющим вводить исходные данные в
процессе работы программы, не прибегая к изменению текста
программы.

1.2.3. Ввод данных с клавиатуры

Для ввода в оперативную память значений переменных ис­
пользуется оператор (функция) ввода input () (от англ, input —
ввод):

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

При выполнении этой команды программа ожидает от поль­
зователя ввода последовательности символов с клавиатуры; после
того, как пользователь нажимает клавишу Enter, набранная им
символьная строка записывается в переменную с именем а. Это
значит, что в памяти выделяется область необходимого размера,
с ней связывается имя а, и в этой области сохраняются все по­
лученные символы.

Если мы планируем работать не со строками, а с числами,
то сразу же после считывания необходимо выполнить преобразо­
вание типов при помощи соответствующей функции:

• а = int (а) — для целых чисел;
• а = float (а) — для вещественных чисел.

Считывание строк и преобразование типов рекомендуется объ­
единять:

• а = int (input ()) — для целых чисел;
• а = float (input () ) — для вещественных чисел.

Экспериментально убедитесь в истинности утверждения: «Функции
into и float О работают без ошибок, если введённая строка со­
стоит только из цифр».

Можно совмещать вывод подсказки и ввод данных, указывая
текст подсказки в скобках как аргумент функции input ():

г = float(input(‘Введите радиус ‘))

Глава 1. Начала программирования

Каждый оператор ввода input () захватывает только одну
строку данных, причем захватывает её целиком. Для того, что­
бы ввести в одной строке два целых числа, разделённых пробе­
лом (например, 10 20), используют функцию split () (от англ.
split — расщепить). Можно воспользоваться следующей последо­
вательностью команд:

a, b = input () .split () ; Ввод двух строковых величин,
a, b = int (a), int (Ь) ; разделённых пробелом

^Преобразование к целому типу

Теперь рассмотрим ситуацию, когда входные данные заданы в
одной строке, но разделены особыми разделителями, отличными
от пробела. Типичным примером таких входных данных являют­
ся показания времени (10:33).

В таких случаях надо для split() указывать конкретный
символ разделителя, взятый в двойные или одинарные кавычки.
В нашем примере:

hours, minutes = input().split (‘:’)

Аналогично организуется считывание трёх и более перемен­
ных:

а, Ъ, с = input().split()

Для преобразования к целому типу переменных а, Ь, с можно
использовать конструкцию:

а, Ь, с = int(a), int(b), int (с)

Сократить запись считывания нескольких значений и их пре­
образования в числовой тип можно с помощью функции тар,
которая применяет к каждому элементу списка заданное правило.

a, b, с = map(int, input().split())

Здесь с помощью функции тар организовано применение
функции int() к каждому элементу вводимого списка.

Усовершенствуем программу 1, организовав в ней ввод дан­
ных с помощью оператора input (), включив строку с пригла­
шением для ввода:

# Программа 2
г = float(input(‘Введите радиус:’))
с = 2 * 3.14 * г

Организация ввода и вывода данных §1.2

Результат работы усовершенствованной программы представ­
лен на рис. 1.4.

|R Python 3.7.3 Shell -tl

File Edit Shell Debug Options Window Help

Python 3.7.3 (v3.7.3:ef4ec6edl2, Mar 25 2019, 21:26:53)

[MSC v.1916 32 bit (Intel)] on Win32
Type «help», «copyright», «credits» or «license ()»
for more information.

= RESTART: C:/Users/akull1/AppData/Local/Programs J
/Python/Python37-32/l.py == Ln: 7 Col: 4
Введите радиус:8.5
с— 53.3800
s— 226.8650

Рис. 1.4. Программа с реализованным вводом данных с клавиатуры

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

Оператор ввода (функция) input () вводит с клавиатуры сим­
вольную строку. Для преобразования строки в целое число её
обрабатывают функцией int(), в вещественное число — функ­
цией float () .

Сократить запись считывания нескольких значений и их пре­
образования в числовой тип можно с помощью функции тар () ,
которая применяет к каждому вводимому элементу заданное пра­
вило.

Для вывода данных из оперативной памяти на экран монито­
ра используется оператор вывода (функция) print (). Элементы

Глава 1. Начала программирования

списка вывода разделяются запятыми. По умолчанию при вы­
воде данные разделяются пробелами; после вывода всех данных
функция print () переводит курсор в начало следующей строки.

Формат вывода — это указываемое общее количество знако­
мест, отводимое на число, определяющее, сколько позиций на
экране должна занимать выводимая величина. Форматный вывод
данных выполняется с помощью функции format ().

Ввод исходных данных и вывод результатов должны быть ор­
ганизованы понятно и удобно; это обеспечивает дружественность
пользовательского интерфейса.

Вопросы и задания

1. Что является результатом выполнения оператора?
а) print(а)
б) print ( ‘ а ‘ )
в) print(‘а=’ , а)

2. Напишите программу, выводящую на экран следующее за­
бавное изображение:

3. Какой тип имеет переменная f, если после выполнения опе­
ратора print (f) на экран было выведено следующее число?
а) 125
б) 125.0-

4. Дан фрагмент программы:

а = 10; b = а + 1; а = b — a; print (а, Ь)

Какие числа будут выведены на экран компьютера?

5. Для каждого оператора print () укажите соответствующий
ему результат работы:

а) print (10, 20, 30) 1) 102030
б) print(10, 20, 30, sep=») 2) 10, 20, 30
в) print(10, 20, 30, sep=’, ‘) 3) 10:20:30
г) print (10, 20, 30, sep=’:’) 4) 10 20 30
д) print(10, 20, 30, sep=’,’) 5) 10,20,30

6. Что будет выведено в результате работы следующей про­
граммы?

Организация ввода и вывода данных §1.2

7. Внесите изменения в программу из предыдущего задания
так, чтобы в результате её выполнения выводились следую­
щие изображения:

а) 1 б) 1 в) 5
22
212 555

8. Что будет выведено в результате работы следующей про-
граммы?

9. Определите результат работы программы, если переменным
а и b были присвоены значения 2 и 4 соответственно.

а = int(input())
b = int(input ())
a=a * a
b **= 2
k=a *b
k *= 2
k += a + b
print(k)

10. Целочисленным переменным i, j, k нужно присвоить соот­
ветственно значения 10, 2 0 и 30. Напишите оператор ввода,
соответствующий входной строке:

а) 20 10 30
б) 30 20 10
в) 10 30 20

Глава 1. Начала программирования

11. Найдите ошибку в программе, которая должна вывести сум­
му двух введенных чисел.

а = input ()
b = input()
sum = а + b
print(sum)

Проверьте правильность своего решения, выполнив программу
на компьютере.

12. С клавиатуры вводятся два целых числа в строку через про­
бел. Выберете фрагмент программы, в котором переменным
а и Ь будут присвоены соответствующие целочисленные зна­
чения:
1) a, b = map(int(input()).split())
2) a, b = int(input()).тар(split())
3) a = int ( input())

b = int(input())
4) a, b = map(split().int(input()))
5) a, b = map(int(input()) .int (input ()) )

6) a, b = map(int, input().split())
7) a, b = int(map( input().split()))
8) a, b = map(int, input(),split ())
9) a, b = map(int. input().split())
10) a, b = map (int. input (), split ().)

13. Напишите оператор, обеспечивающий ввод с клавиатуры не­
обходимых исходных данных для вычисления дискриминан­
та квадратного уравнения по трём целочисленным значени­
ям его коэффициентов.

14. Дан фрагмент программы:

а = input (); b = input (); d = input ()
а = float(а)
b = float(b)
d = float(d)
c = a t b; print (a, b, c, end=»»); print(d)

Упростите его, сократив число операторов.

15. Напишите программу, которая вычисляет площадь и пери­
метр прямоугольника по длинам двух его сторон.

Программирование линейных алгоритмов §1.3

Проверочная работа № 2

1. Укажите оператор, используемый для вывода данных в
Python.

1) write
2) int
3) float
4) print
5) input
6) read

2. Расположите строки так, чтобы получилась программа, рас­
считывающая по двум введенным с клавиатуры веществен­
ным значениям катетов квадрат гипотенузы прямоугольного
треугольника. В ответе запишите правильную последователь­
ность номеров.

2) print(‘Квадрат гипотенузы С)

3) А = float(input())

4) print (‘Введите длины катетов’)

5) В = float (input())

§ 1.3
Программирование линейных алгоритмов

Ключевые слова:
• вещественный тип данных
• целочисленный тип данных
• строковый тип данных
• логический тип данных

Программы, реализующие линейные алгоритмы, считаются
наиболее простыми. Все имеющиеся в них операторы выполня­
ются последовательно, один за другим.

Программируя линейные алгоритмы, рассмотрим более под­
робно целочисленные, логические, символьные и строковые типы
данных.

Глава 1. Начала программирования

1.3.1. Числовые типы данных

Вы уже знакомы с числовыми типами данных int и float.

К ним применимы многочисленные функции, некоторая их часть

приведена в табл. 1.3.

Функция Назначение Тип аргумента Тип
результата
abs(x)
round(x) Абсолютная int, float Такой
величина (модуль) же, как у
int (x) числа х аргумента
sqrt(x)■
Округление float int, float
вещественного х до
заданного количества
знаков после запятой
(по умолчанию — до
нуля знаков, т. е. до
ближайшего целого)

Преобразование str, float int
вещественного или
строкового х к
целому

Квадратный корень int, float float-
из X

sin (x) Синус угла х, int, float f loat

заданного в радианах

random() Случайное число f loat
от 0 до 1

randint (a, b) Случайное целое int int
число n, а < n < b

Первые три из представленных в таблице 3 функций встрое­
ны в язык Python; чтобы их вызвать, не надо выполнять ника­
ких дополнительных действий.

Например, программа ввода вещественного числа и вывода
его абсолютной величины может выглядеть так:

х = float(input ())
print(abs (x) )

Программирование линейных алгоритмов §1.3

Что касается функций sqrt(x) и sin(x), то для их вызова
предварительно надо подключить модуль math, в котором собра­
ны математические функции; две последние из приведённых в
табл. 1.3 функций требуют подключения модуля random.

На языке Python написано так много самых разных функций, что Хо*
встраивать весь этот объем кода в сам язык нецелесообразно. |И
Проблема доступа к дополнительным возможностям языка, обеспе­
чиваемым этими функциями, решается с помощью модулей. Каж­
дый модуль содержит набор функций, предназначенных для реше­
ния задач из определенной области. Так модуль graph нужен для
рисования геометрических фигур, модуль random позволяет гене­
рировать случайные числа и т. д. Для доступа к функциям модуля
его надо импортировать в программу. После импорта интерпрета­
тор будет «знать» о существовании дополнительных функций и по­
зволит ими пользоваться.

Подключение модуля осуществляется командой import. Напри­
мер, команда from math import * подключает к программе все
функции (так как стоит знак * ) модуля math. После этого к ним
можно будет обращаться так же, как к встроенным функциям:

у = sqrt(х)
z = sin(x)

Для того, чтобы записать в переменную а случайное число
в диапазоне от 1 до 10, можно использовать следующие опера­
торы:

from random import randint ; Подключаем функцию
i randint() модуля random
а = randint (1, 10) ! Обращаемся к функции
; randint () как к встроенной

Исследуем работу функций round () и int(), применив их к
некоторому вещественному х. Соответствующая программа будет
иметь вид:

print(‘Исследование функций round, int ‘)

х = float(input(‘Введите x>>’))

print(‘Целая часть — int (x))

Запустите программу несколько раз для каждого х = -10,2; -10.8>. Что вы можете сказать о типе результата каждой из
этих функций?

Глава 1. Начала программирования

Попытайтесь пояснить следующие результаты работы функции

Входные данные Результат

1.3.2. Целочисленный тип данных

Над целыми числами в языке Python можно выполнять сле­
дующие операции:

• сложение (+);
• вычитание (—);
• умножение (*);
• целочисленное деление или получение неполного частного (//);
• взятие остатка или получение остатка от деления (%);
• деление (/);
• возведение в степень (**).

Результаты первых пяти операций — целые числа. Результа­
том операции деления может быть вещественное число.

Рассмотрим пример использования операций // и %, записав
на языке Python программу нахождения суммы цифр вводимого
с клавиатуры натурального трёхзначного числа.

Используем тот факт, что положительное трёхзначное число
можно представить в виде следующей суммы:

х = а■ 100 + b ■ 10 + с, где и, Ь, с — цифры числа.

# Программа 4
print(‘Нахождение суммы цифр трёхзначного числа’)

х = int (input (‘ Введите исходное число»’))
а = х // 100
b = х % 100 // 10
с = х % 10
s =а +b+ с
print(‘s— ‘, s)

Чему равна сумма цифр числа 123? А числа -123? Совпадают ли
ваши результаты с результатами работы программы? Как можно
объяснить и исправить ошибку в программе?

Программирование линейных алгоритмов §1.3

1.3.3. Строковый тип данных

Значением строковой величины (тип str) является произволь­
ная последовательность символов, заключенная в одинарные или
двойные кавычки. Символьная строка рассматривается как еди­
ный объект.

Символом в языке Python является любой из символов, кото­
рый можно получить на экране нажатием на клавиатуре одной
из клавиш или комбинации клавиш, а также некоторых других
символов, в том числе и невидимых.

В тексте программы переменную строкового типа можно за­
дать, заключив цепочку символов в одинарные или двойные ка­
вычки:

Новое значение может быть записано в строку с помощью
оператора ввода с клавиатуры:

Если значение символьной переменной считывается с клави­
атуры, то его следует набирать без апострофов.

Встроенная функция 1еп определяет длину строки — коли­
чество символов в ней:

Можно проверить равенство (совпадение) строк (d == с) или
выяснить, какая из двух строк меньше (при этом используется
поочерёдное сравнение кодов символов, образующих слова; мень­
шим будет то слово, у которого код очередного символа окажется
меньше).

Чтобы найти код символа, используют функцию ord(), где в
качестве параметра указывают символ.

Чтобы по коду узнать символ, используют функцию chr(),
где в качестве параметра указывают код символа.

В Python (как и в алгоритмическом языке) строки можно
сцеплять: а + b (к концу строки а прикрепляется («приписыва­
ется») строка Ь). Пусть

Тогда в переменную d будет записана следующая строка:

Глава 1. Начала программирования

В результате операции а * к, где к — целое число, строка а
повторяется к раз. Так, в результате выполнения команды

будет выведена строка:

Пример. Напишем на языке Python программу, которая за­
прашивает имя и выводит приветствие.

# Программа 5
print (‘Как тебя зовут?’)
name = input ()
print (‘Привет, ‘, name)

Пример. Напишем на языке Python программу, в которой
для введённого с клавиатуры символа на экран выводится его
код. Затем на экран выводится строка, представляющая собой
последовательность из трёх символов используемой кодовой таб­
лицы: символа, предшествующего исходному; исходного символа;
символа, следующего за исходным.

# Программа 6
а = input()
kod = ord(а)
print(kod)
b = chr(kod — 1) + a + chr(kod + 1)
print(b)

1.3.4. Логический тип данных

Как известно, величины логического типа принимают всего
два значения; в Python это False и True. Эти константы опре­
делены так, что False < True.

Логические значения получаются в результате выполнения
операций сравнения числовых, строковых и логических выраже­
ний. Поэтому в Python логической переменной можно присваи­
вать результат операции сравнения.

Пример. Напишем программу, определяющую истинность вы­
сказывания «Число N является чётным» для произвольного це­
лого числа N.

Программирование линейных алгоритмов §1.3

Пусть ans — логическая переменная, а N — переменная цело­
го типа. Тогда в результате выполнения оператора присваивания
ans = N % 2 == 0 переменной ans будет присвоено значение True
при любом чётном N и False в противном случае.

print(‘Определение истинности высказывания о чётности

N = int(input(‘Введите исходное число»1))

print(‘Число’, N, ‘является чётным ans)

Логическим переменным также можно присваивать значения
логических выражений, построенных с помощью известных вам
логических операций И, ИЛИ, НЕ, которые в Python обознача­
ются соответственно and, or, not.

Пример. Напишем программу, определяющую истинность вы­
сказывания «Треугольник с длинами сторон а, Ъ, с является рав­
нобедренным» для произвольных целых чисел а, Ъ, с.

print (‘Определение истинности высказывания

о равнобедренном треугольнике’)

а = int(input(‘Введите значение а>>’))

b = int(input(‘Введите значение Ь>>’))

с = int (input (‘Введите значение с» ‘ ) )

ans = (а == b) or (а == с) or (b == с)

print(‘Треугольник с длинами сторон’, а, ‘,’, Ь, ‘, ‘,

с,’ является равнобедренным ans)

В языке Python используются вещественный, целочисленный,
строковый, логический и другие типы данных. Для них опреде­
лены соответствующие операции и функции.

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

В языке Python реализованы операции целочисленного деле­
ния: для деления нацело используется оператор //, для взятия
остатка от деления — оператор %.

Символьная строка — это последовательность символов, рас­
сматриваемая как единый объект. Длина строки — это количест­

Глава 1. Начала программирования

во символов в строке. Знак + при работе со строками означает
их сцепление в одну строку; знак * — многократное сложение
строк.

Логическим переменным можно присваивать значения логиче­
ских выражений, построенных с помощью логических операций
and, or, not.

Вопросы и задания

1. Определите значения переменных после выполнения фраг­
мента программы. Составьте таблицу значений перемен­
ных.

а) х = 11 б) х 13
3
у=5
z=у Z // у
у=х % у
X=Z
у = (у + 2) * z

2. Определите значение переменной с после выполнения про­
граммы:

а) а а%5 а 123
b * 10 b а // 10
b b // 5 — 3 b b/4+2
b // 5 * 2 ь b * 25 + 2
ь а+b
5*3

в) а = 951
b = а // 100 + а % 100
а = а // 10

а %= 10
а += b
b = (а + Ь) % 10 / 2
а -= Ь — 3
с=а+Ь

3. Дана программа:

a, b = map(int, input ().split())
с = (а + b + abs (а — b) ) // 2
print(с)

Программирование линейных алгоритмов §1.3

Определите результат работы программы для следующих вход­
ных данных:

а) 4 8 г) 2 -10
б) 9 3 д) -3 -9
в) 7 7 е) -18 -8

Подумайте, какую задачу решает эта программа.

4. Установите соответствие между обозначениями функций и
их назначением.

а) abs (х) х) 1) Извлечение квадратного корня из х
б) sqrt(x) 2) Вычисление модуля х
в) round(х) 3) Получение случайного целого числа от
г) randint(0,
0 до х
4) Округление х до указанного количест­

ва знаков после запятой

5. Напишите и отладьте программу, которая вычисляет:
а) дискриминант квадратного уравнения;
б) площадь кольца, если его толщина t см, а диаметр вну­
треннего круга — d см.

6. Если сумма налога исчисляется в рублях и копейках, то
налоговая служба округляет её до ближайшего рубля (до 50
копеек — с недостатком, свыше 50 копеек (включая 50) —
с избытком). Напишите программу для ввода точной суммы
налога и вывода суммы, которую следует уплатить.

7. В модуле random есть функция randint (а, Ь), генерирую­
щая случайное целое число из отрезка [а; Ь]. Соответствую­
щая программа имеет вид:

print(‘Функция randint’)
from random import randint
a = int(input (‘Введите a>>’))
b = int(input (‘Введите b>>’))
print(‘случайное целое число из отрезка [‘, а,

Какие изменения следует внести в программу, чтобы получить
случайное целое число из полуинтервала (а; Ь]?
Как можно получить случайное целое число из интервала
(а; Ь)?

Глава 1. Начала программирования

8. Напишите и отладьте программу для:
а) получения случайного целого числа х из полуинтервала
[0; 15);
б) получения случайного вещественного числа х из отрезка
[0; 15];
в) получения случайного целого числа х из полуинтервала
[-15; 15) без использования функции randintO;
г) получения случайного вещественного числа х из отрезка
[Ю; 15] с помощью функции random () .

9. Компания выпустила лотерейные билеты трёх типов: для
молодежи, для взрослых и для пенсионеров. Номера билетов
каждого типа лежат в пределах:
для молодёжи — от 1 до 100;
для взрослых — от 101 до 200;
для пенсионеров — от 201 до 250.
Напишите программу для выбора лотерейного билета каждого
типа случайным образом.

10. Напишите на языке Python программу, которая для произ­
вольного натурального двузначного числа определяет:
а) сумму и произведение его цифр;
б) число, образованное перестановкой цифр исходного числа.

11. Напишите на языке Python программу, реализующую алго­
ритм работы кассира, выдающего покупателю сдачу (s) наи­
меньшим возможным количеством банкнот по 2000 (к2000),
1000 (кЮОО), 500 (к500), 100 (кЮО), 50 (к50) и 10 (кЮ)
рублей. Предусмотрите вывод сообщения о том, что часть
сдачи, которую невозможно выдать купюрами, будет выдана
монетами.

Пример входных данных Пример выходных данных
845
Следует сдать:
банкнот по 500 руб. — 1 шт.
банкнот по 100 руб. — 3 шт.
банкнот по 50 руб. — 0 шт.
банкнот по 10 руб. — 4 шт.
монетами — 5 руб.

12. Идёт /г-я секунда суток. Разработайте программу, которая
по введённой /?-й секунде суток определяет, сколько целых
часов h и целых минут т прошло с начала суток. Напри-

Программирование линейных алгоритмов §1.3

мер, если k = 13 257 = 3 • 3600 + 40 ■ 60 + 57, то Л = 3
и т = 40. Выведите на экран фразу: «It is . hours .
minutes». Вместо многоточий программа должна выводить
значения h и т, отделяя их от слов ровно одним пробелом.

Пример входных данных Пример выходных данных

13257 It is 3 hours 40 minutes.

13. Определите результат работы программы. Запишите матема­
тическую формулу для вычисления значения s.

from math import *

a = 12
b=5
c = 13
p = (a + b + c) / 2
s =p
s *=p — a
s *=p — b
s *=p — c
s = sqrt(s)
print (s)

14. Для заданного x вычислите у по формуле

у = х3 + 2,5х2 — х + 1.

При этом:
а) операцию возведения в степень использовать запрещено;
б) в одном операторе присваивания можно использовать не

более одной арифметической операции (сложение, умно­
жение, вычитание);
в) в программе может быть использовано не более пяти опе­
раторов присваивания.
Подсказка-, преобразуйте выражение к следующему виду:

у = ((х + 2,5)х — 1)х + 1.

15. По заданным координатам точек А и В вычислите длину
отрезка АВ.
Подсказка: Расстояние d между точками А (ха, уи) и В (хь, уь)

выражается формулой: d = Щхь — ха )2 + (уь- уа)2 ■

Глава 1. Начала программирования

Пример входных данных Пример выходных данных

ха = 2 |АВ| = 10.0
ya = 1
xb = 10
yb = 7

16. Известны длины сторон треугольника а, Ь, с. Напишите
программу, вычисляющую площадь этого треугольника.

Пример входных данных Пример выходных данных

17. Известны координаты вершин А, В, С треугольника. Напи­
шите программу, вычисляющую площадь этого треугольника.

Пример входных данных Пример выходных данных

ха = 2 S = 16.0
ya = 1
xb = 6
yb = 5
хс = 10
ус = 1

18. Напишите и отладьте программу, которая вводит строку с
клавиатуры и выводит на экран её длину.

19. Напишите и отладьте программу, которая запрашивает три
строковые величины — взаимосвязанные прилагательное, су­
ществительное и глагол, а затем выводит все варианты фраз
с использованием введённых слов.

Пример входных данных Пример выходных данных

ЗЕЛЁНЫЕ ЗЕЛЁНЫЕ ЛИСТЬЯ РАСПУСКАЮТСЯ
ЛИСТЬЯ ЗЕЛЁНЫЕ РАСПУСКАЮТСЯ ЛИСТЬЯ
РАСПУСКАЮТСЯ ЛИСТЬЯ ЗЕЛЁНЫЕ РАСПУСКАЮТСЯ
ЛИСТЬЯ РАСПУСКАЮТСЯ ЗЕЛЁНЫЕ
РАСПУСКАЮТСЯ ЗЕЛЁНЫЕ ЛИСТЬЯ
РАСПУСКАЮТСЯ ЛИСТЬЯ ЗЕЛЁНЫЕ

Программирование линейных алгоритмов §1.3

20. Даны значения целочисленных переменных: а = 10, b = 20.
Чему будет равно значение логической переменной rez пос­
ле выполнения операции присваивания?

а) rez = (а == 10) or (b > 10)
б) rez = (а > 5) and (b > 5) and (а < 2 0) and (Ь < 30)
в) rez = (not (а- < 15)) or (b >20)

21. Составьте программу, вводящую True, если высказывание
является истинным, и False в противном случае:
а) сумма цифр трёхзначного числа х является чётным числом;
б) треугольник с длинами сторон а, Ь, с является разносто­
ронним

Проверочная работа № 3

1. Укажите истинные высказывания.

а) 3 > 2 and 5 > 6 == True
б) ‘а’ < 'b' or 1 >0 == True
в) 60 > 20 == True
г) 61 // 5 * 3 == 410 // 3 == 3
д) 2 // 3 == 1

2. Напишите программу вычисления площади прямоугольного
треугольника, значения катетов которого А и В вводятся с
клавиатуры.

Пример входных данных Пример выходных данных

46 Для значений катетов 4 и б площадь
прямоугольного треугольника равна
12.

3. Дана программа:

print(‘Введите две стороны четырёхугольника:’)
а = int (input())
b = int(input())
print (‘Введите диагонали четырёхугольника:’)
dl = int(input())
d2 = int(input ())
ans = a != b and dl == d2
print (‘Этот четырехугольник является
прямоугольником — ‘, ans)

Глава 1. Начала программирования

При каких исходных данных высказывание «Этот четырёху­
гольник является прямоугольником» будет:
а) истинным;
б) ложным?

§ 1.4
Программирование
разветвляющихся алгоритмов

Ключевые слова:
• условный оператор
• неполный условный оператор

составной оператор
• каскадное ветвление

1.4.1. Условный оператор

При записи на языке Python разветвляющихся алгоритмов
используют условный оператор. Его общий вид:

Слова if и else начинаются на одном уровне, а все команды
внутренних блоков сдвинуты относительно этого уровня вправо
на одно и то же расстояние. Начало и конец блока, который
выполняется при истинности (ложности) условия, определяется
именно этими сдвигами.

Обратите внимание! В Python сдвиги (отступы) операторов
относительно левой границы влияют на работу программы. Для
отступа можно использовать пробелы (обычно не меньше двух) или
символы табуляции (вставляются при нажатии на клавишу Tab).

Если при истинности (ложности) какого-то условия предпо­
лагается выполнить по одному действию, то условный оператор
может быть записан в одну строку:

Для записи неполных ветвлений используется неполная форма
условного оператора:

Программирование разветвляющихся алгоритмов §1.4

В качестве условий используются логические выражения:
• простые — записанные с помощью операций отношения

(, >=, • составные — записанные с помощью логических операций

В языке Python разрешены двойные неравенства, например

Пример. Напишем на языке Python рассмотренный в п. 2.4.2
(пример 8) учебника для 8 класса алгоритм определения принад­
лежности точки х отрезку [а, Ь].

# Программа 9
print(‘Определение принадлежности точки отрезку’)
а = int (input(‘Введите а: ‘))
b = int (input(‘Введите b: ‘))
х = int (input(‘Введите х: ‘))

print(‘Точка принадлежит отрезку’)
else:

print (‘Точка не принадлежит отрезку’)

Пример. Воспользуемся неполным условным оператором для
записи на языке Python рассмотренного в п. 2.4.2 (пример 9)
учебника для 8 класса алгоритма присваивания переменной у
значения наибольшей из трёх величин а, b и с.

# Программа 10
print (‘Нахождение наибольшей из трёх величин’)
а = int (input(‘Введите а: ‘))
b = int (input(‘Введите b: ‘))
с = int(input(‘Введите с: ‘))
у=а

Дополните эту программу так, чтобы её выполнение приводило к на­
хождению минимального значения из четырёх величин а, Ь, с и d.

Глава 1. Начала программирования

Пример. Уравнение вида ах2 + Ъх + с = 0, где х — пере­
менная, а, b и с — некоторые числа, причём а 0, называется
квадратным уравнением. Алгоритм решения квадратного уравне­
ния вам хорошо известен. Запишем соответствующую программу
на языке Python:

from math import *

print(‘Решение квадратного уравнения’)
print (‘Введите коэффициенты а, Ь, с»’)
а = float(input(‘а=’))
b = float(input(‘b=’))
c = float(input(‘c=’))
d=b *b- 4 * a * c

print (‘Корней нет’)

x = — b / (2 * a)
print(‘Корень уравнения x=’ , «».format(x))

xl = (—b + sqrt(d)) / (2 * a)
x2 = (—b — sqrt (d) ) / (2 * a)
print(‘Корни уравнения:’)
print(‘xl=’, «».format(xl))
.print(‘x2=’, «».format(x2))

1.4.2. Многообразие способов записи ветвлений

Внутри условного оператора могут находиться любые операто­
ры, в том числе и другие условные операторы. Условные опера­
торы, находящиеся внутри блоков, следующих после if («если»)
или else («иначе»), называются вложенными условными опера­
торами:

Программирование разветвляющихся алгоритмов §1.4

Если после else сразу следует ещё один оператор if, можно
использовать так называемое «каскадное» ветвление с ключевыми
словами elif (сокращение от else-if). Если очередное условие
ложно, то выполняется проверка следующего условия и т. д.

Пример. Воспользуемся каскадным ветвлением для записи на
языке Python рассмотренного в п. 2.4.2 (пример 10) учебника для
8 класса алгоритма решения линейного уравнения.

# Программа 12
print(‘Решение линейного уравнения’)
а = float (input (‘Введите коэффициент а»’))
b = float(input(‘Введите коэффициент Ь>>’) )
if а 1= 0:

х = -Ь / а
print(‘Корень уравнения х=’ , х)

elif Ь != 0:
print(‘Корней нет’)

print(‘х — любое число’)

Как правило, для решения одной и той же задачи можно
предложить несколько алгоритмов. Убедимся в этом, написав про­
грамму для решения линейного уравнения, используя неполное
ветвление:

# Программа 13
print(‘Решение линейного уравнения’)
а = float (input(‘Введите коэффициент а>>’) )
b = float(input(‘Введите коэффициент Ь>>’))

х= -b / а
print (‘Корень уравнения х =’, х)

if а == 0 and b != 0:

print (‘Корней нет’)

if а == 0 and Ь == 0:

print (‘х — любое число’)

Возможно, второй вариант программы покажется вам более
наглядным. Но и у первого варианта есть свои преимущества: в
нём делается меньше проверок.

Воспользуйтесь каскадным ветвлением для записи алгоритма ре­
шения квадратного уравнения на языке Python.

Глава 1. Начала программирования

При записи разветвляющихся алгоритмов на языке Python
используют условный оператор, позволяющий выбрать один из
двух вариантов действий в зависимости от выполнения некото­
рого условия:

Условие, которое нужно проверить, записывается после слова
if. Если условие верно, выполняются все команды, записанные
после строки с оператором if (со сдвигом вправо). Если условие
неверно, выполняются все команды, записанные после строки с
оператором else (со сдвигом вправо).

Для записи неполных ветвлений используется неполный
условный оператор:

В обеих частях условного оператора можно использовать лю­
бые операторы, в том числе и другие (вложенные) условные опе­
раторы.

Для выбора из нескольких вариантов используют следующую
конструкцию условного оператора:

Вопросы и задания

1. Отметьте условия, записанные на языке Python правильно.

1) а > О
2) х 3) х > 0 or у < О
4) с / О
5) а =! b

П ро гр а м миров ание разветвляющихся алгоритмов §1.4

6) -5 < а < 10
7) X > 0, у < 0
8) а > 10 и Ь < 5
9) х == 6
10) х = у = z
11) х о 0

2. Запишите на языке Python следующие условия:

1) У * 0;
2) х не кратно 7;
3) -5 < х < 10;
4) х е [-1; 1].

3. Как на языке Python записывается полное и неполное ветв­
ление?

4. Является ли условным оператором следующая последова­
тельность символов?

а) if х < у: х = 0 else input(у)
б) if х >= у: х = 0; у := 0

5. Дана программа на языке Python:

print(‘Введите три числа: ‘)
а, Ь, с = map (float, input (). split () )
х=а
if b < х:

Что будет выведено в результате работы программы при сле­
дующих входных данных?

а) 10 5 1
б) 10 5 7
в) 2 10 5

Постройте блок-схему, соответствующую программе.

Глава 1. Начала программирования

6. Дана программа на языке Python:

print(‘Введите три числа: ‘)
х, у, z = map(int, input ().split ())

У -= 2
z -= 2
print(x, у, z)

Приведите пример входных данных, при котором исходные
значения:
а) увеличиваются в 2 раза;
б) уменьшаются на 2.

7. Запишите следующий фрагмент программы, используя два
условных оператора:

if а > Ь: с = 1
if а > b: d = 2
if а if а

8. Найдите ошибки в операторах на языке Python.

х = х + 1; х += 1
У := О у=О
else: х = О, у = у + 1

Предложите правильный вариант записи ветвлений и составь­
те соответствующие им блок-схемы.

9. Дано трёхзначное число. Напишите программу, которая
определяет:
а) есть ли среди цифр заданного целого трёхзначного числа
одинаковые;

Пример входных данных Пример выходных данных

123 Нет
121 Да
222 Да

Программирование разветвляющихся алгоритмов §1.4

б) является ли число «перевёртышем» (палиндромом), т. е.
числом, десятичная запись которого читается одинаково
слева направо и справа налево.

Пример входных данных Пример выходных данных

122 Нет
121 Перевертыш
222 Перевертыш

10. Даны две точки в плоской прямоугольной системе коорди­
нат. Напишите программу, определяющую, которая из точек
находится ближе к началу координат.

Пример входных данных Пример выходных данных

Координаты 1-й точки>>1 2 1-я точка ближе
Координаты 2-й точки>>3 4

11. Даны три натуральных числа. Напишите программу, опреде­
ляющую, существует ли треугольник с такими длинами сто­
рон. Если такой треугольник существует, то определите его
тип (равносторонний, равнобедренный, разносторонний).

Пример входных данных Пример выходных данных

а b с >>1 2 1 Не существует
а Ь с >>2 2 2 Равносторонний
а b с >>20 20 30 Равнобедренный
а b с >>3 4 5 Разносторонний

12. Имеются данные о количестве полных лет четырёх призёров
спартакиады. Напишите программу, выбирающую и выводя­
щую возраст самого младшего призёра.

13. Напишите программу, определяющую, лежит ли точка
А(ха, уа) на прямой у = kx + т, над ней или под ней.

Глава 1. Начала программирования

Пример входных данных Пример выходных данных

к, т>>-1 5 Точка лежит под прямой.
ха, уа »1 2
Точка лежит над прямой.
к, т»-1 5
ха, уа >>1 10 Точка лежит на прямой.

к, т>>-1 5
ха, уа >>1 4

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

Пример входных данных II II ‘ Пример выходных данныхLO

х»5 х >> х= 5i
у»6 у= 6

15. Дан фрагмент программы:

х, у = map(int, input() .split ())
z=О
if x > 0:

Составьте блок-схему, соответствующую этому фрагменту про­
граммы, и определите значение переменной z при следующих
значениях х и у:

16. Дан условный оператор:

Программирование разветвляющихся алгоритмов §1.4

Какое значение имеет переменная а, если в результате вы­
полнения условного оператора переменной с присваивается
значение 3?

17. Напишите программу, вычисляющую значение функции:

Пример входных данных Пример выходных данных

18. Составьте программу для решения задачи № 21 к § 2.4
учебника для 8 класса (определение дня недели).

19. Поле шахматной доски определяется парой натуральных чи­
сел, каждое из которых не превосходит 8. Напишите про­
грамму, которая по введённым координатам двух полей
(k, I) и (т, п) определяет, имеют ли эти поля один цвет.

Пример входных данных Пример выходных данных

Координаты 1-го поля>>2 2 Поля одного цвета
Координаты 2-го поля>>3 3
Поля разного цвета
Координаты 1-го поля>>2 3
Координаты 2-го поля>>3 3 Поля одного цвета

Координаты 1-го поля>>2 7
Координаты 2-го поля»5 4

20. Напишите программу, в которой пользователю предлагается
дополнить до 100 некоторое целое число а (а — случайное
целое число из отрезка [0; 100]). Ответ пользователя прове­
ряется и комментируется.

21. С помощью программы сравните тройки слов и сделайте вы­
воды о том, как происходит сравнение: KAWAI — Kawai —
kawai; информатика — информатика — информатикА,
50_ кг — 50 kg — 200_кг; яблоко — яблоки — яблоня.

22. Ниже приведена программа, записанная на двух языках
программирования.

Глава 1. Начала программирования

Алгоритмический язык Python

алг х = int(input ())
нач у = int(input ())
if x > 5 or у % 2 == 0:
цел 1, х, у
ввод X print(«ДА»)
ввод у
если (х>5) или (mod(у, 2) = 0) то else:

вывод «ДА» print(«HET»)
иначе

Было проведено 10 запусков программы, при которых в каче­
стве значений переменных х и у вводились следующие пары
чисел: (1, 7); (13, 6); (1, 1); (4, 12); (-16, -2); (-10, 13);
(-17, 17); (10, 9); (1, 5); (-8; -6). Сколько было запусков,
при которых программа вывела «ДА»?

Проверочная работа № 4

1. Для каждой записи в левом столбце подберите соответству­
ющее ей составное условие, записанное на языке Python, из
правого столбца.

а) х не кратно 4 1) х >= -1 and х б) х е [-1; 5] 2) х % 4 * О
в) 5 < х < -2 3) х % 4 != О
4) х > -5 and х < -2
5) х > -5 or х < -2
6) х >= -1 or х

2. Какие ошибки допущены в программе?

print(Введите число а)
а = int (input())
if а >= 0:

а = 18
else а += 1

Программирование циклических алгоритмов §1.5

Найдите все ошибки и исправьте их. Опишите на естествен­
ном языке, с помощью формулы или блок-схемы алгоритм
преобразования исходных данных, используемый в данной
программе.
Определите выходные данные при следующих исходных дан­
ных:
а) -10
б) 0
в) 10
3. Квадраты при игре в крестики-нолики пронумерованы, как

Напишите программу, проверяющую, лежат ли квадраты на
одной вертикали.

§ 1.5
Программирование циклических

Ключевые слова:
• цикл while
• цикл for

1.5.1. Программирование циклов с известным
условием продолжения работы

В языке Python цикл с заданным условием продолжения ра­
боты записывается с помощью оператора while (в переводе с ан­
глийского языка — «до тех пор, пока»). Общий вид оператора:

Глава 1. Начала программирования

Здесь:
— логическое выражение, условие продолжения
работы цикла; пока оно истинно, выполняется тело цикла; если
условие ложно с самого начала, тело цикла не выполнится ни
разу;
— один или несколько операторов, с помощью
которых записано тело цикла.
Запишем на языке Python рассмотренный в п. 2.4.3 (при­
мер 14) учебника для 8 класса алгоритм получения частного q и
остатка г от деления натурального числа х на натуральное число
у без использования операции деления.

# Программа 14
print(‘Частное и остаток’)
х = int(input(‘Введите делимое х>>’))
у = int (input(‘Введите делитель у>>’) )

q += 1
print(‘Частное q =’, q)
print(‘Остаток г =’, г)

Выполните программу при х = 25 и у = 4. Каким будет результат
выполнения программы при х = -10 и у = 3? Как вы можете объ­
яснить этот результат?

1.5.2. Программирование циклов с известным
условием окончания работы

В языке Python нет специального оператора для записи цик­
лов с заданным условием окончания работы, но его можно орга­
низовать с помощью цикла while:

Программирование циклических алгоритмов §1.5

будет выполняться бесконечно, потому что условие True всегда
истинно. Выйти из такого цикла можно только с помощью спе­
циального оператора break (в переводе с англ. — «прервать»).

Запишем на языке Python рассмотренный в п. 2.4.3 (при­
мер 17) учебника для 8 класса алгоритм решения задачи о гра­
фике тренировок спортсмена.

# Программа 15
print(‘График тренировок’)
i = 1; х = 10

i += 1
x=x+0.1*x
if x >- 25: break
print (‘Начиная c ‘, i, ‘-го дня спортсмен будет
пробегать 25 км’ sep»)

1.5.3. Программирование циклов с известным
числом повторений

Цикл с известным числом повторений в языке Python запи­
сывается с помощью оператора for (в переводе с английского —
«для»). Его общий вид:

Здесь:
— переменная целого типа;
range () — функция, описывающая необходимое количество

повторов тела цикла; в скобках может быть ука­
зано от одного до трёх чисел:
• одно число (п) указывает на то, что нужно последовательно
перебрать все целые числа от 0 до п — 1;
• два числа (к, п) говорят о том, что нужно последовательно
перебрать все целые числа, находящиеся в диапазоне от к
(начальное значение) до п — 1 (конечное значение);
• три числа (к, п, ш) указывают на то, что параметр должен
изменяться от к до п — 1 с шагом, равным ш;
— один или несколько операторов, составляю­
щих тело цикла.

При выполнении цикла for с тремя параметрами после каж­
дого выполнения тела цикла происходит увеличение параметра

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *