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

Содержание

Слайд 2

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

Алгоритм и его свойства

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

Слайд 3

Что такое алгоритм?

Алгоритм — это точное описание порядка действий, которые должен выполнить

Что такое алгоритм? Алгоритм — это точное описание порядка действий, которые должен
исполнитель для решения задачи за конечное время.

Исполнитель – это устройство или одушёвленное существо (человек), способное понять и выполнить команды, составляющие алгоритм.

Формальные исполнители: не понимают (и не могут понять) смысл команд.

Слайд 4

Свойства алгоритма

Дискретность — алгоритм состоит из отдельных команд, каждая из которых выполняется

Свойства алгоритма Дискретность — алгоритм состоит из отдельных команд, каждая из которых
за конечное время.
Детерминированность (определённость) — при каждом запуске алгоритма с одними и теми же исходными данными получается один и тот же результат.
Понятность — алгоритм содержит только команды, входящие в систему команд исполнителя.
Конечность (результативность) — для корректного набора данных алгоритм должен завершаться через конечное время.
Корректность — для допустимых исходных данных алгоритм должен приводить к правильному результату.
Массовость — алгоритм можно использовать для разных исходных данных.

Слайд 5

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

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

Программирование на языке Python Простейшие программы

Слайд 6

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

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

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

# coding: utf-8
# Это

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

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

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

Слайд 7

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

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

Протокол:
2+2=?

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

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

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

Слайд 8

Задания

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

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

Слайд 9

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

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

Протокол:
Введите

Сложение чисел Задача. Ввести с клавиатуры два числа и найти их сумму.
два целых числа
25
30
25+30=55

компьютер

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

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

Слайд 10

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

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

Псевдокод

Сумма: псевдокод ввести два числа вычислить их сумму вывести сумму на экран
– алгоритм на русском языке с элементами языка программирования.

Слайд 11

Переменные

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

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

a

Значение

Имя

Слайд 12

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

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

заглавные и

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

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

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

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

Слайд 13

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

a = 4
print ( type(a) )


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

a =

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


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

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


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

a = True
print ( type(a) )


логическая

Слайд 14

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

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

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

Слайд 15

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

a = 5

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

5

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

Как записать значение в переменную? a = 5 оператор присваивания 5 Оператор
программирования (инструкция).
Оператор присваивания – это команда для присваивания нового значения переменной.

a

a = 7

7

Слайд 16

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

5

a

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

Слайд 17

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

a = input()

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

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

b = input()

с = a + b

print ( c )

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

a = int( input() )

b = int( input() )

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

Слайд 18

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

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

подсказка

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

26

a =

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

Слайд 19

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

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

Изменение значений переменной a = 5 b = a + 2 a
2)*(b – 3)
b = b + 1

a

5

b

=5+2

7

28

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

=7+1

8

Слайд 20

Вывод данных

print ( a )

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

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

значение и

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

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

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

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

2 + 3 = 5

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

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

2+3=5

sep = ""

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

Слайд 21

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

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

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

2+3=5

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

Слайд 22

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

a = int ( input() )
b = int (

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

Слайд 23

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

print ( "Введите два числа: " ) a = int ( input()
= int ( input() )
c = a + b
print ( a, "+", b, "=", c, sep="" )

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

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

компьютер

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

подсказка

Слайд 24

Задания

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

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

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

Слайд 25

Задания

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

Задания «5»: Ввести три числа, найти их сумму, произведение и среднее арифметическое.
Введите три числа:
4
5
7
4+5+7=16
4*5*7=140
(4+5+7)/3=5.333333

Слайд 26

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

Вычисления

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

Слайд 27

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

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

Приоритет

Арифметическое выражения a = (c + b**5*3 - 1) / 2 *
(старшинство):
скобки
возведение в степень **
умножение и деление
сложение и вычитание

1

2

3

4

5

6

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

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

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

Слайд 28

Деление

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

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

Деление Классическое деление: a = 9; b = 6 x = 3
= 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

Слайд 29

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

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

d = 85
b = d //

Остаток от деления % – остаток от деления d = 85 b
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

Слайд 30

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

a = 1234
d = a % 10; print( d

Операторы // и % a = 1234 d = a % 10;
)
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

Слайд 31

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

a += b # a = a + b
a

Сокращенная запись операций a += b # a = a + b
-= 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

Слайд 32

Ввод двух значений в одной строке

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

Ввод двух значений в одной строке a, b = map ( int,
)

input()

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

21 33

input().split()

21

33

разделить строку на части по пробелам

map ( int, input().split() )

21

33

целые

применить

эту операцию

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

Слайд 33

Задания

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

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

Слайд 34

Задания

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

Задания «5»: Занятия в школе начинаются в 8-30. Урок длится 45 минут,
между уроками – 10 минут. Ввести номер урока и вывести время его окончания.
Пример:
Введите номер урока:
6
13-50

Слайд 35

Случайные числа

Случайно…
встретить друга на улице
разбить тарелку
найти 10 рублей
выиграть в лотерею

Случайный выбор:
жеребьевка на

Случайные числа Случайно… встретить друга на улице разбить тарелку найти 10 рублей
соревнованиях
выигравшие номера в лотерее

Как получить случайность?

Слайд 36

Случайные числа на компьютере

Электронный генератор

нужно специальное устройство
нельзя воспроизвести результаты

318458191041

564321

209938992481

458191

938992

малый период (последовательность повторяется

Случайные числа на компьютере Электронный генератор нужно специальное устройство нельзя воспроизвести результаты
через 106 чисел)

Метод середины квадрата (Дж. фон Нейман)

в квадрате

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

зерно

Слайд 37

Линейный конгруэнтный генератор

X = (a*X+b) % c | интервал от 0 до

Линейный конгруэнтный генератор X = (a*X+b) % c | интервал от 0
c-1

X = (X+3) % 10 | интервал от 0 до 9

X = 0

зерно

→ 3

→ 6

→ 9

→ 2

→ 5

→ 8

→ 0

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

8

→ 1

→ 4

→ 7

Компилятор GCC:
a = 1103515245
b = 12345
c = 231

Слайд 38

Генератор случайных чисел

Генератор на [0,1):

X = random.random() # псевдосл. число
Y =

Генератор случайных чисел Генератор на [0,1): X = random.random() # псевдосл. число
random.random() # уже другое число!

Целые числа на отрезке [a,b]:

X = random.randint(1,6) # псевдосл. число
Y = random.randint(1,6) # уже другое число!

import random

англ. random – случайный

Генератор на [a, b] (вещественные числа):

X = random.uniform(1.2, 3.5)
Y = random.uniform(1.2, 3.5)

Слайд 39

Генератор случайных чисел

Генератор на [0,1):

X = random() # псевдослучайное число
Y =

Генератор случайных чисел Генератор на [0,1): X = random() # псевдослучайное число
random() # это уже другое число!

Целые числа на отрезке [a,b]:

X = randint(10,60) # псевдослучайное число
Y = randint(10,60) # это уже другое число!

from random import *

англ. random – случайный

подключить все!

Слайд 40

Задачи

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

Задачи «3»: Игральный кубик бросается три раза (выпадает три случайных значения). Сколько
в среднем выпало?
Пример:
Выпало очков:
5 3 1
(5+3+1)/3=3

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

Слайд 41

Задачи

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

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

Пример:
Получено число 123
сотни: 1
десятки: 2
единицы: 3

Слайд 42

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

Ветвления

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

Слайд 43

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

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

полная форма

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

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

Слайд 44

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

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

M = a
if b > a:

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

M = b

M = max(a, b)

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

M = a if a > b else b

Слайд 45

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

if a < b:
с = a
a =

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

4

6

?

4

6

4

a

b

3

2

1

c

a, b = b, a

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

Слайд 46

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

>

<

>=

<=

==

!=

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

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

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

равно

не равно

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

Слайд 47

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

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

if a == b:

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

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

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

Слайд 48

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

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

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

Слайд 49

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

cost = 1500
if cost < 1000:
print ( "Скидок нет."

Каскадное ветвление cost = 1500 if cost print ( "Скидок нет." )
)
elif cost < 2000:
print ( "Скидка 2%." )
elif cost < 5000:
print ( "Скидка 5%." )
else:
print ( "Скидка 10%." )

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

Скидка 2%.

Слайд 50

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

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

Задачи (без функций min и max!) «3»: Ввести два целых числа, найти
и наименьшее из них.
Пример:
Введите два целых числа:
1 5
Наибольшее число 5
Наименьшее число 1

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

Слайд 51

Задачи

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

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

Слайд 52

Задачи

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

Задачи «6»: Ввести последовательно возраст Антона, Бориса и Виктора. Определить, кто из
старше.
Пример:
Возраст Антона: 15
Возраст Бориса: 17
Возраст Виктора: 16
Ответ: Борис старше всех.
Пример:
Возраст Антона: 17
Возраст Бориса: 17
Возраст Виктора: 16
Ответ: Антон и Борис старше Виктора.

Слайд 53

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

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

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

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

and

v >= 25 and v <= 40

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

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

Слайд 54

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

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

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

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

v < 25 or v > 40

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

or

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

Слайд 55

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

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

not

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

Сложные условия if not(a print("Cтарт!") not Приоритет : отношения ( , =,
!=)
not («НЕ»)
and («И»)
or («ИЛИ»)

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

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

Слайд 56

Задачи

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

Задачи «3»: Напишите программу, которая получает три числа - рост трёх спортсменов,
выводит сообщение «По росту.», если они стоят по возрастанию роста, или сообщение «Не по росту!», если они стоят не по росту.
Пример:
Введите рост трёх спортсменов:
165 170 172
По росту.
Пример:
Введите рост трёх спортсменов:
175 170 172
Не по росту!

Слайд 57

Задачи

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

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

Слайд 58

Задачи

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

Задачи «5»: Напишите программу, которая получает возраст человека (целое число, не превышающее
и выводит этот возраст со словом «год», «года» или «лет». Например, «21 год», «22 года», «25 лет».
Пример:
Введите возраст: 18
Вам 18 лет.
Пример:
Введите возраст: 21
Вам 21 год.
Пример:
Введите возраст: 22
Вам 22 года.

Слайд 59

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

Символьные строки

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

Слайд 60

Символьные строки

Начальное значение:

Сложение:

s = "Привет!"

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

print ( s )

Умножение:

s = "АУ"
s5

Символьные строки Начальное значение: Сложение: s = "Привет!" Вывод на экран: print
= s*5

АУАУАУАУАУ

s5 = s + s + s + s + s

s1 = "Привет"
s2 = "Вася"
s = s1 + ", " + s2 + "!"

"Привет, Вася!"

Слайд 61

Символьные строки

Вывод символа на экран:

Длина строки:

n = len ( s )

print (

Символьные строки Вывод символа на экран: Длина строки: n = len (
s[5] )

print ( s[-2] )

s[len(s)-2]

Слайд 62

Символьные строки

Ввод с клавиатуры:

s = input ( "Введите имя: " )

Изменение строки:

s[4]

Символьные строки Ввод с клавиатуры: s = input ( "Введите имя: "
= "a"

... но можно составить новую строку:

s1 = s + "a"

Изменение строки запрещено!

s = "информатика"
print(s[-2]+s[3]+s[-4])

составить «кот»

Слайд 63

Срезы

s = "0123456789"
s1 = s[3:8] # "34567"

разрезы

Срезы s = "0123456789" s1 = s[3:8] # "34567" разрезы

Слайд 64

Срезы строк

s = "0123456789"
s1 = s[:8] # "01234567"

от начала строки

s =

Срезы строк s = "0123456789" s1 = s[:8] # "01234567" от начала
"0123456789"
s1 = s[3:] # "3456789"

до конца строки

s1 = s[::-1] # "9876543210"

реверс строки

Слайд 65

Операции со строками

Срезы с отрицательными индексами:

s = "0123456789"
s1 = s[:-2] # "01234567"

Операции со строками Срезы с отрицательными индексами: s = "0123456789" s1 =

len(s)-2

s = "0123456789"
s1 = s[-6:-2] # "4567"

len(s)-2

len(s)-6

Слайд 66

Операции со строками

Вставка:

s = "0123456789"
s1 = s[:3] + "ABC" + s[3:]

Удаление:

s =

Операции со строками Вставка: s = "0123456789" s1 = s[:3] + "ABC"
"0123456789"
s1 = s[:3] + s[9:] # "0129"

"012"

"9"

"012ABC3456789"

Слайд 67

Задачи

«3»: Ввести с клавиатуры пароль (символьную строку), если его длина меньше, чем

Задачи «3»: Ввести с клавиатуры пароль (символьную строку), если его длина меньше,
6 символов, вывести сообщение «Слишком короткий пароль!», иначе вывести сообщение «ОК».
Пример:
Введите пароль:
12345
Слишком короткий пароль!
Пример:
Введите пароль:
123456789
ОК.

Слайд 68

Задачи

«4»: Ввести с клавиатуры пароль (символьную строку). Если его длина меньше, чем

Задачи «4»: Ввести с клавиатуры пароль (символьную строку). Если его длина меньше,
6 символов, вывести сообщение «Слишком короткий пароль!». Если пароль начинается с букв «qwerty» вывести сообщение «Ненадёжный пароль!». Если ошибок не было, вывести сообщение «ОК».
Пример:
Введите пароль:
qwerty12345
Ненадёжный пароль!
Пример:
Введите пароль:
asdUTY7sakh
ОК.