Программирование на языке Python

Содержание

Слайд 2

Простейшая программа # Это пустая программа комментарии после # не обрабатываются

Простейшая программа

# Это пустая программа

комментарии после # не обрабатываются

# coding: utf-8
#

Это пустая программа

кодировка utf-8 по умолчанию)

"""
Это тоже комментарий
"""

Слайд 3

Вывод на экран print ( "2+2=?" ) print ( "Ответ: 4"

Вывод на экран

print ( "2+2=?" )
print ( "Ответ: 4" )

Протокол:

2+2=?
Ответ: 4

автоматический переход на новую строку

print ( '2+2=?' )
print ( 'Ответ: 4' )

Слайд 4

Задания «4»: Вывести на экран текст «лесенкой» Вася пошел гулять «5»:

Задания

«4»: Вывести на экран текст «лесенкой»
Вася
пошел
гулять
«5»: Вывести на

экран рисунок из букв
Ж
ЖЖЖ
ЖЖЖЖЖ
ЖЖЖЖЖЖЖ
HH HH
ZZZZZ
Слайд 5

Сложение чисел Задача. Ввести с клавиатуры два числа и найти их

Сложение чисел

Задача. Ввести с клавиатуры два числа и найти их сумму.

Протокол:

Введите два целых числа
25
30
25+30=55

компьютер

пользователь

компьютер считает сам!

Слайд 6

Сумма: псевдокод ввести два числа вычислить их сумму вывести сумму на

Сумма: псевдокод

ввести два числа
вычислить их сумму
вывести сумму на экран


Псевдокод – алгоритм на русском языке с элементами языка программирования.

Слайд 7

Переменные Переменная – это величина, имеющая имя, тип и значение. Значение

Переменные

Переменная – это величина, имеющая имя, тип и значение. Значение переменной

можно изменять во время работы программы.

a

Значение

Имя

Слайд 8

Имена переменных МОЖНО использовать латинские буквы (A-Z, a-z) русские буквы (не

Имена переменных

МОЖНО использовать
латинские буквы (A-Z, a-z)
русские буквы (не рекомендуется!)
цифры
знак подчеркивания _

заглавные

и строчные буквы различаются

НЕЛЬЗЯ использовать
скобки
знаки +, =, !, ? и др.

имя не может начинаться с цифры

Какие имена правильные?
AXby R&B 4Wheel Вася “PesBarbos” TU154 [QuQu] _ABBA A+B

Слайд 9

Типы переменных a = 4 print ( type(a) ) целое число

Типы переменных

a = 4
print ( type(a) )


целое число (integer)

a

= 4.5
print ( type(a) )


вещественное число

a = "Вася"
print ( type(a) )


символьная строка

a = True
print ( type(a) )


логическая

Слайд 10

Зачем нужен тип переменной? Тип определяет: область допустимых значений допустимые операции объём памяти формат хранения данных

Зачем нужен тип переменной?

Тип определяет:
область допустимых значений
допустимые операции
объём памяти
формат хранения данных

Слайд 11

Как записать значение в переменную? a = 5 оператор присваивания 5

Как записать значение в переменную?

a = 5

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

5

Оператор – это команда

языка программирования (инструкция).
Оператор присваивания – это команда для присваивания нового значения переменной.

a

a = 7

7

Слайд 12

Ввод значения с клавиатуры 5 a

Ввод значения с клавиатуры

5

a

Слайд 13

Ввод значения с клавиатуры a = input() ввести строку с клавиатуры

Ввод значения с клавиатуры

a = input()

ввести строку с клавиатуры и связать

с переменной a

b = input()

с = a + b

print ( c )

Протокол:
21
33
2133

a = int( input() )

b = int( input() )

преобразовать в целое число

Слайд 14

Ввод с подсказкой a = input ( "Введите число: " )

Ввод с подсказкой

a = input ( "Введите число: " )

подсказка

Введите число:

26

a

= int( input("Введите число: ") )
Слайд 15

Изменение значений переменной a = 5 b = a + 2

Изменение значений переменной

a = 5
b = a + 2
a = (a

+ 2)*(b – 3)
b = b + 1

a

5

b

=5+2

7

28

=(5+2)*(7-3)

=7+1

8

Слайд 16

Вывод данных print ( a ) значение переменной print ( "Ответ:

Вывод данных

print ( a )

значение переменной

print ( "Ответ: ", a )

значение

и текст

print ( "Ответ: ", a+b )

вычисление выражения

print ( a, "+", b, "=", c )

2 + 3 = 5

через пробелы

print ( a, "+", b, "=", c, sep = "" )

2+3=5

sep = ""

убрать разделители

Слайд 17

Вывод данных через format print ( a, "+", b, "=", c,

Вывод данных через format

print ( a, "+", b, "=", c, sep

= "" )

2+3=5

print ( "{}+{}={}".format(a, b, c ) )

Слайд 18

Сложение чисел: простое решение a = int ( input() ) b

Сложение чисел: простое решение

a = int ( input() )
b = int

( input() )
c = a + b
print ( c )
Слайд 19

print ( "Введите два числа: " ) a = int (

print ( "Введите два числа: " )
a = int ( input()

)
b = int ( input() )
c = a + b
print ( a, "+", b, "=", c, sep="" )

Сложение чисел: полное решение

Протокол:
Введите два целых числа
25
30
25+30=55

компьютер

пользователь

подсказка

Слайд 20

Задания «3»: Ввести три числа, найти их сумму. Пример: Введите три

Задания

«3»: Ввести три числа, найти их сумму.
Пример:
Введите три числа:

4
5
7
4+5+7=16
«4»: Ввести три числа, найти их сумму и произведение.
Пример:
Введите три числа:
4
5
7
4+5+7=16
4*5*7=140
Слайд 21

Задания «5»: Ввести три числа, найти их сумму, произведение и среднее

Задания

«5»: Ввести три числа, найти их сумму, произведение и среднее арифметическое.

Пример:
Введите три числа:
4
5
7
4+5+7=16
4*5*7=140
(4+5+7)/3=5.333333
Слайд 22

Программирование на языке Python Вычисления

Программирование на языке Python

Вычисления

Слайд 23

Арифметическое выражения a = (c + b**5*3 - 1) / 2

Арифметическое выражения

a = (c + b**5*3 - 1) / 2 *

d

Приоритет (старшинство):
скобки
возведение в степень **
умножение и деление
сложение и вычитание

1

2

3

4

5

6

перенос на следующую строку

a = (c + b*5*3
- 1) / 2 * d

перенос внутри скобок разрешён

Слайд 24

Деление Классическое деление: a = 9; b = 6 x =

Деление

Классическое деление:

a = 9; b = 6
x = 3 / 4

# = 0.75
x = a / b # = 1.5
x = -3 / 4 # = -0.75
x = -a / b # = -1.5

Целочисленное деление (округление «вниз»!):

a = 9; b = 6
x = 3 // 4 # = 0
x = a // b # = 1
x = -3 // 4 # = -1
x = -a // b # = -2

Слайд 25

Остаток от деления % – остаток от деления d = 85

Остаток от деления

% – остаток от деления

d = 85
b = d

// 10 # 8
a = d % 10 # 5
d = a % b # 5
d = b % a # 3

a = 15
b = 19
d = a // b # 0
a = a % b # 15

Слайд 26

Операторы // и % a = 1234 d = a %

Операторы // и %

a = 1234
d = a % 10; print(

d )
a = a // 10 # 123
d = a % 10; print( d )
a = a // 10 # 12
d = a % 10; print( d )
a = a // 10 # 1
d = a % 10; print( d )
a = a // 10 # 0

4

3

2

1

Слайд 27

Сокращенная запись операций a += b # a = a +

Сокращенная запись операций

a += b # a = a + b


a -= b # a = a - b
a *= b # a = a * b
a /= b # a = a / b
a //= b # a = a // b
a %= b # a = a % b

a += 1

увеличение на 1

Слайд 28

Задания «3»: Ввести три числа: цену пирожка (два числа: рубли, потом

Задания

«3»: Ввести три числа: цену пирожка (два числа: рубли, потом –

копейки) и количество пирожков. Найти сумму, которую нужно заплатить (рубли и копейки)
Пример:
Стоимость пирожка:
12 50
Сколько пирожков:
5
К оплате: 62 руб. 50 коп.
«4»: Ввести число, обозначающее количество секунд. Вывести то же самое время в часах, минутах и секундах.
Пример:
Число секунд:
8325
2 ч. 18 мин. 45 с
Слайд 29

Задания «5»: Занятия в школе начинаются в 8-30. Урок длится 45

Задания

«5»: Занятия в школе начинаются в 8-30. Урок длится 45 минут,

перерывы между уроками – 10 минут. Ввести номер урока и вывести время его окончания.
Пример:
Введите номер урока:
6
13-50
Слайд 30

Задачи «3»: Игральный кубик бросается три раза (выпадает три случайных значения).

Задачи

«3»: Игральный кубик бросается три раза (выпадает три случайных значения). Сколько

очков в среднем выпало?
Пример:
Выпало очков:
5 3 1
(5+3+1)/3=3

«4»: Игральный кубик бросается три раза (выпадает три случайных значения). Из этих чисел составляется целое число, программа должна найти его квадрат.
Пример:
Выпало очков:
1 2 3
Число 123
Его квадрат 15129

Слайд 31

Задачи «5»: Получить случайное трёхзначное число и вывести через запятую его

Задачи

«5»: Получить случайное трёхзначное число и вывести через запятую его отдельные

цифры.
Пример:
Получено число 123
сотни: 1
десятки: 2
единицы: 3
Слайд 32

Программирование на языке Python Ветвления

Программирование на языке Python

Ветвления

Слайд 33

Условный оператор Задача: изменить порядок действий в зависимости от выполнения некоторого

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

Задача: изменить порядок действий в зависимости от выполнения некоторого условия.

полная

форма ветвления

if a > b:
M = a
else:
M = b

Слайд 34

Условный оператор: неполная форма неполная форма ветвления M = a if

Условный оператор: неполная форма

неполная форма ветвления

M = a
if b >

a:
M = b

M = max(a, b)

Решение в стиле Python:

M = a if a > b else b

Слайд 35

Условный оператор if a с = a a = b b

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

if a < b:
с = a
a

= b
b = c

4

6

?

4

6

4

a

b

3

2

1

c

a, b = b, a

Решение в стиле Python:

Слайд 36

Знаки отношений > >= == != больше, меньше больше или равно

Знаки отношений

>

<

>=

<=

==

!=

больше, меньше

больше или равно

меньше или равно

равно

не равно

Слайд 37

Вложенные условные операторы if a > b: print("Андрей старше") else: if

Вложенные условные операторы

if a > b:
print("Андрей старше")
else:

if a ==

b:
print("Одного возраста")
else:
print("Борис старше")

вложенный условный оператор

Задача: в переменных a и b записаны возрасты Андрея и Бориса. Кто из них старше?

Слайд 38

Каскадное ветвление if a > b: print("Андрей старше") elif a ==

Каскадное ветвление

if a > b:
print("Андрей старше")
elif a == b:

print("Одного возраста")
else:
print("Борис старше")
Слайд 39

Каскадное ветвление cost = 1500 if cost print ( "Скидок нет."

Каскадное ветвление

cost = 1500
if cost < 1000:
print ( "Скидок

нет." )
elif cost < 2000:
print ( "Скидка 2%." )
elif cost < 5000:
print ( "Скидка 5%." )
else:
print ( "Скидка 10%." )

первое сработавшее условие

Скидка 2%.

Слайд 40

Задачи (без функций min и max!) «3»: Ввести два целых числа,

Задачи (без функций min и max!)

«3»: Ввести два целых числа, найти

наибольшее и наименьшее из них.
Пример:
Введите два целых числа:
1 5
Наибольшее число 5
Наименьшее число 1

«4»: Ввести четыре целых числа, найти наибольшее из них.
Пример:
Введите четыре целых числа:
1 5 4 3
Наибольшее число 5

Слайд 41

Задачи '5': Ввести пять чисел и найти наибольшее из них. Пример:

Задачи

'5': Ввести пять чисел и найти наибольшее из них.
Пример:
Введите

пять чисел:
4 15 9 56 4
Наибольшее число 56
Слайд 42

Задачи «6»: Ввести последовательно возраст Антона, Бориса и Виктора. Определить, кто

Задачи

«6»: Ввести последовательно возраст Антона, Бориса и Виктора. Определить, кто из

них старше.
Пример:
Возраст Антона: 15
Возраст Бориса: 17
Возраст Виктора: 16
Ответ: Борис старше всех.
Пример:
Возраст Антона: 17
Возраст Бориса: 17
Возраст Виктора: 16
Ответ: Антон и Борис старше Виктора.
Слайд 43

Сложные условия Задача: набор сотрудников в возрасте 25-40 лет (включительно). if

Сложные условия

Задача: набор сотрудников в возрасте 25-40 лет (включительно).

if :
print("подходит")
else:

print("не подходит")

and

v >= 25 and v <= 40

сложное условие

«И»: одновременное выполнение всех условий!

Слайд 44

Сложные условия Задача: набор сотрудников в возрасте 25-40 лет (включительно). if

Сложные условия

Задача: набор сотрудников в возрасте 25-40 лет (включительно).

if :
print("не

подходит")
else:
print("подходит")

v < 25 or v > 40

сложное условие

or

«ИЛИ»: выполнение хотя бы одного из двух условий!

Слайд 45

Сложные условия if not(a print("Cтарт!") not Приоритет : отношения ( ,

Сложные условия

if not(a < b):
print("Cтарт!")

not

Приоритет :
отношения (<, >, <=, >=,

==, !=)
not («НЕ»)
and («И»)
or («ИЛИ»)

«НЕ»: если выполняется обратное условие

if a >= b:
print("Cтарт!")

Слайд 46

Задачи «3»: Напишите программу, которая получает три числа - рост трёх

Задачи

«3»: Напишите программу, которая получает три числа - рост трёх спортсменов,

и выводит сообщение «По росту.», если они стоят по возрастанию роста, или сообщение «Не по росту!», если они стоят не по росту.
Пример:
Введите рост трёх спортсменов:
165 170 172
По росту.
Пример:
Введите рост трёх спортсменов:
175 170 172
Не по росту!
Слайд 47

Задачи «4»: Напишите программу, которая получает номер месяца и выводит соответствующее

Задачи

«4»: Напишите программу, которая получает номер месяца и выводит соответствующее ему

время года или сообщение об ошибке.
Пример:
Введите номер месяца:
5
Весна.
Пример:
Введите номер месяца:
15
Неверный номер месяца.
Слайд 48

Задачи «5»: Напишите программу, которая получает возраст человека (целое число, не

Задачи

«5»: Напишите программу, которая получает возраст человека (целое число, не превышающее

120) и выводит этот возраст со словом «год», «года» или «лет». Например, «21 год», «22 года», «25 лет».
Пример:
Введите возраст: 18
Вам 18 лет.
Пример:
Введите возраст: 21
Вам 21 год.
Пример:
Введите возраст: 22
Вам 22 года.
Слайд 49

Программирование на языке Python Циклические алгоритмы

Программирование на языке Python

Циклические алгоритмы

Слайд 50

Что такое цикл? Цикл – это многократное выполнение одинаковых действий. Два

Что такое цикл?

Цикл – это многократное выполнение одинаковых действий.

Два вида циклов:
цикл

с известным числом шагов (сделать 10 раз)
цикл с неизвестным числом шагов (делать, пока не надоест)

Задача. Вывести на экран 10 раз слово «Привет».

Слайд 51

Повторения в программе print("Привет") print("Привет") ... print("Привет")

Повторения в программе

print("Привет")
print("Привет")
...
print("Привет")

Слайд 52

Блок-схема цикла начало конец да нет тело цикла

Блок-схема цикла

начало

конец

да

нет

тело цикла

Слайд 53

Как организовать цикл? счётчик = 0 пока счётчик print("Привет") увеличить счётчик

Как организовать цикл?

счётчик = 0
пока счётчик < 10:
print("Привет")
увеличить счётчик

на 1

счётчик = 10
пока счётчик > 0:
print("Привет")
уменьшить счётчик на 1

k = 0
while k < 10:
print ( "Привет" )
k += 1

k = 10
while k > 0:
print ( "Привет" )
k -= 1

Слайд 54

Сколько раз выполняется цикл? a = 4; b = 6 while

Сколько раз выполняется цикл?

a = 4; b = 6
while a <

b: a += 1

2 раза
a = 6

a = 4; b = 6
while a < b: a += b

1 раз
a = 10

a = 4; b = 6
while a > b: a += 1

0 раз
a = 4

a = 4; b = 6
while a < b: b = a - b

1 раз
b = -2

a = 4; b = 6
while a < b: a -= 1

зацикливание

Слайд 55

Цикл с условием Задача. Определить количество цифр в десятичной записи целого

Цикл с условием

Задача. Определить количество цифр в десятичной записи целого положительного

числа, записанного в переменную n.

счётчик = 0
пока n > 0:
отсечь последнюю цифру n
увеличить счётчик на 1

n = n // 10

счётчик = счётчик + 1

счётчик += 1

Слайд 56

Цикл с условием count = 0 while : n = n

Цикл с условием

count = 0
while :

n = n // 10
count

+= 1

тело цикла

начальное значение счётчика

n > 0

условие продолжения

заголовок цикла

Слайд 57

Задачи «3»: Ввести с клавиатуры количество повторений и вывести столько же

Задачи

«3»: Ввести с клавиатуры количество повторений и вывести столько же раз

какое-нибудь сообщение.
Пример:
Сколько раз:
5
Привет!
Привет!
Привет!
Привет!
Привет!
Слайд 58

Задачи «4»: Ввести с клавиатуры натуральное число и определить, сколько раз

Задачи

«4»: Ввести с клавиатуры натуральное число и определить, сколько раз в

его записи встречается цифра 1.
Пример:
Введите число:
51211
3

«5»: Ввести с клавиатуры натуральное число и найти сумму значений его цифр.
Пример:
Введите число:
1234
Cумма цифр 10

Слайд 59

Задачи «6»: Ввести натуральное число и определить, верно ли, что в

Задачи

«6»: Ввести натуральное число и определить, верно ли, что в его

записи есть две одинаковые цифры, стоящие рядом.
Пример:
Введите натуральное число:
12342
Нет.
Пример:
Введите натуральное число:
12245
Да.
Слайд 60

Алгоритм Евклида Алгоритм Евклида. Чтобы найти НОД двух натуральных чисел, нужно

Алгоритм Евклида

Алгоритм Евклида. Чтобы найти НОД двух натуральных чисел, нужно вычитать

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

НОД(14,21) = НОД(14,7) = НОД(7, 7) = 7

пока a != b:
если a > b:
a -= b # a = a - b
иначе:
b -= a # b = b - a

while a != b:
if a > b:
a -= b
else:
b -= a

НОД(1998,2) =

НОД(1996,2) = … = НОД(2, 2) = 2

Слайд 61

Алгоритм Евклида Модифицированный алгоритм Евклида. Заменять большее число на остаток от

Алгоритм Евклида

Модифицированный алгоритм Евклида. Заменять большее число на остаток от деления

большего на меньшее до тех пор, пока меньшее не станет равно нулю. Другое (ненулевое) число и есть НОД чисел.

НОД(1998,2) = НОД(0,2) = 2

пока ???:
если a > b:
a = a % b
иначе:
b = b % a

a!=0 and b!=0:

если a != 0:
вывести a
иначе:
вывести b

Слайд 62

Задачи «3»: Ввести с клавиатуры два натуральных числа и найти их

Задачи

«3»: Ввести с клавиатуры два натуральных числа и найти их НОД

с помощью алгоритма Евклида.
Пример:
Введите два числа:
21 14
НОД(21,14)=7

«4»: Ввести с клавиатуры два натуральных числа и найти их НОД с помощью модифицированного алгоритма Евклида. Заполните таблицу:

Слайд 63

Задачи «5»: Ввести с клавиатуры два натуральных числа и сравнить количество

Задачи

«5»: Ввести с клавиатуры два натуральных числа и сравнить количество шагов

цикла для вычисления их НОД с помощью обычного и модифицированного алгоритмов Евклида.
Пример:
Введите два числа:
1998 2
НОД(1998,2)=2
Обычный алгоритм: 998
Модифицированный: 1
Слайд 64

Цикл с переменной Задача. Вывести 10 раз слово «Привет!». while :

Цикл с переменной

Задача. Вывести 10 раз слово «Привет!».

 
while :
print("Привет!")

i =

0

i < 10

i += 1

for :
print("Привет!")

i in range(10)

в диапазоне [0,10)

Цикл с переменной:

range(10) → 0, 1, 2, 3, 4, 5, 6, 7, 8, 9

Слайд 65

Цикл с переменной Задача. Вывести все степени двойки от 21 до

Цикл с переменной

Задача. Вывести все степени двойки от 21 до 210.

 
while

:
print ( 2**k )

k = 1

k <= 10

k += 1

for :
print ( 2**k )

k in range(1,11)

в диапазоне [1,11)

Цикл с переменной:

range(1,11) → 1, 2, 3, 4, 5, 6, 7, 8, 9, 10

возведение в степень

Слайд 66

Цикл с переменной: другой шаг 100 81 64 49 36 25

Цикл с переменной: другой шаг

100
81
64
49
36
25
16
9
4
1

1
9
25
49
81

for :
print ( k**2 )

k in

range(1,11,2)

for :
print ( k**2 )

k in range(10,0,-1)

шаг

10,9,8,7,6,5,4,3,2,1

1,3,5,7,9

Слайд 67

Сколько раз выполняется цикл? a = 1 for k in range(

Сколько раз выполняется цикл?

a = 1
for k in range( 3): a

+= 1

a = 4

a = 1
for k in range( 3,1): a += 1

a = 1

a = 1
for k in range( 1,3,-1): a += 1

a = 1

a = 1
for k in range( 3,0,-1): a += 1

a = 4

Слайд 68

Задачи «3»: Ипполит задумал трёхзначное число, которое при делении на 15

Задачи

«3»: Ипполит задумал трёхзначное число, которое при делении на 15 даёт

в остатке 11, а при делении на 11 даёт в остатке 9. Найдите все такие числа.
«4»: Вводится натуральное число N. Программа должна найти факториал (обозначается как N!) – произведение всех натуральных чисел от 1 до N. Например, 5! = 1 · 2 · 3 · 4 · 5 = 120.
Пример:
Введите число:
5
5!=120.