Программирование на языке Python
Программирование на языке Python
Что такое алгоритм?
Свойства алгоритма
Программирование на языке Python
Простейшая программа
Вывод на экран
Задания
Сложение чисел
Сумма: псевдокод
Переменные
Имена переменных
Типы переменных
Зачем нужен тип переменной?
Как записать значение в переменную?
Ввод значения с клавиатуры
Ввод значения с клавиатуры
Ввод с подсказкой
Изменение значений переменной
Вывод данных
Вывод данных через format
Сложение чисел: простое решение
Сложение чисел: полное решение
Задания
Задания
Программирование на языке Python
Арифметическое выражения
Деление
Остаток от деления
Операторы // и %
Сокращенная запись операций
Ввод двух значений в одной строке
Задания
Задания
Случайные числа
Случайные числа на компьютере
Линейный конгруэнтный генератор
Генератор случайных чисел
Генератор случайных чисел
Задачи
Задачи
Программирование на языке Python
Условный оператор
Условный оператор: неполная форма
Условный оператор
Знаки отношений
Вложенные условные операторы
Каскадное ветвление
Каскадное ветвление
Задачи (без функций min и max!)
Задачи
Задачи
Сложные условия
Сложные условия
Сложные условия
Задачи
Задачи
Задачи
Программирование на языке Python
Символьные строки
Символьные строки
Символьные строки
Срезы
Срезы строк
Операции со строками
Операции со строками
Задачи
Задачи
Задачи
2.07M
Category: programmingprogramming

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

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

1
Программирование
на языке Python
Алгоритм и его свойства
Простейшие программы
Вычисления
Ветвления
Символьные строки
К.Ю. Поляков, 2015
http://kpolyakov.spb.ru

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

2
Программирование
на языке Python
Алгоритм и его свойства
К.Ю. Поляков, 2015
http://kpolyakov.spb.ru

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

Алгоритмизация и программирование, язык Python
3
Что такое алгоритм?
Алгоритм — это точное описание
порядка действий, которые должен
выполнить исполнитель для решения
задачи за конечное время.
Исполнитель – это устройство или
одушёвленное существо (человек),
способное понять и выполнить
команды, составляющие алгоритм.
Мухаммед ал-Хорезми
(ок. 783–ок. 850 гг.)
Формальные исполнители: не понимают
(и не могут понять) смысл команд.
К.Ю. Поляков, 2015
http://kpolyakov.spb.ru

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

Алгоритмизация и программирование, язык Python
4
Свойства алгоритма
Дискретность — алгоритм состоит из отдельных команд,
каждая из которых выполняется за конечное время.
Детерминированность (определённость) — при каждом
запуске алгоритма с одними и теми же исходными
данными получается один и тот же результат.
Понятность — алгоритм содержит только команды,
входящие в систему команд исполнителя.
Конечность (результативность) — для корректного
набора данных алгоритм должен завершаться через
конечное время.
Корректность — для допустимых исходных данных
алгоритм должен приводить к правильному результату.
Массовость — алгоритм можно использовать для
разных исходных данных.
К.Ю. Поляков, 2015
http://kpolyakov.spb.ru

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

5
Программирование
на языке Python
Простейшие программы
К.Ю. Поляков, 2015
http://kpolyakov.spb.ru

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

Алгоритмизация и программирование, язык Python
6
Простейшая программа
# Это пустая программа
?
Что делает эта программа?
комментарии после #
не обрабатываются
кодировка utf-8
по умолчанию)
# coding: utf-8
# Это пустая программа
"""
Это тоже комментарий
"""
К.Ю. Поляков, 2015
http://kpolyakov.spb.ru

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

Алгоритмизация и программирование, язык Python
7
Вывод на экран
print ( "2+2=?" )
print ( "Ответ: 4" )
автоматический
переход на новую
строку
Протокол:
2+2=?
Ответ: 4
К.Ю. Поляков, 2015
print ( '2+2=?' )
print ( 'Ответ: 4' )
http://kpolyakov.spb.ru

8. Задания

Алгоритмизация и программирование, язык Python
8
Задания
«4»: Вывести на экран текст «лесенкой»
Вася
пошел
гулять
«5»: Вывести на экран рисунок из букв
Ж
ЖЖЖ
ЖЖЖЖЖ
ЖЖЖЖЖЖЖ
HH HH
ZZZZZ
К.Ю. Поляков, 2015
http://kpolyakov.spb.ru

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

Алгоритмизация и программирование, язык Python
9
Сложение чисел
Задача. Ввести с клавиатуры два числа и найти их сумму.
Протокол:
компьютер
Введите два целых числа
25
пользователь
30
25+30=55
компьютер считает сам!
?
К.Ю. Поляков, 2015
1.
2.
3.
4.
Как ввести числа в память?
Где хранить введенные числа?
Как вычислить?
Как вывести результат?
http://kpolyakov.spb.ru

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

Алгоритмизация и программирование, язык Python
10
Сумма: псевдокод
ввести два числа
вычислить их сумму
вывести сумму на экран
Псевдокод – алгоритм на
русском языке с элементами
языка программирования.
!
Компьютер не может исполнить псевдокод!
К.Ю. Поляков, 2015
http://kpolyakov.spb.ru

11. Переменные

Алгоритмизация и программирование, язык Python
11
Переменные
Переменная – это величина, имеющая имя, тип
и значение. Значение переменной можно
изменять во время работы программы.
Значение
Имя
К.Ю. Поляков, 2015
http://kpolyakov.spb.ru

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

Алгоритмизация и программирование, язык Python
12
Имена переменных
МОЖНО использовать
• латинские буквы (A-Z, a-z)
заглавные и строчные буквы различаются
• русские буквы (не рекомендуется!)
• цифры
имя не может начинаться с цифры
• знак подчеркивания _
НЕЛЬЗЯ использовать
• скобки
• знаки +, =, !, ? и др.
Какие имена правильные?
AXby R&B 4Wheel Вася “PesBarbos”
TU154 [QuQu] _ABBA A+B
К.Ю. Поляков, 2015
http://kpolyakov.spb.ru

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

Алгоритмизация и программирование, язык Python
13
Типы переменных
a=4
print ( type(a) )
<class 'int'>
a = 4.5
print ( type(a) )
<class 'float'>
a = "Вася"
print ( type(a) )
<class 'str'>
a = True
print ( type(a) )
<class 'bool'>
К.Ю. Поляков, 2015
целое число (integer)
вещественное число
символьная строка
логическая
http://kpolyakov.spb.ru

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

Алгоритмизация и программирование, язык Python
14
Зачем нужен тип переменной?
Тип определяет:
• область допустимых значений
• допустимые операции
• объём памяти
• формат хранения данных
К.Ю. Поляков, 2015
http://kpolyakov.spb.ru

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

Алгоритмизация и программирование, язык Python
15
Как записать значение в переменную?
!
оператор
присваивания
a = 5
a = 7
a
При записи нового значения
старое удаляется из памяти!
5
7
Оператор – это команда языка
программирования (инструкция).
Оператор присваивания – это команда для
присваивания нового значения переменной.
К.Ю. Поляков, 2015
http://kpolyakov.spb.ru

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

Алгоритмизация и программирование, язык Python
16
Ввод значения с клавиатуры
a
!
5
1. Программа ждет, пока пользователь введет
значение и нажмет Enter.
2. Введенное значение записывается в
переменную a (связывается с именем a)
К.Ю. Поляков, 2015
http://kpolyakov.spb.ru

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

Алгоритмизация и программирование, язык Python
17
Ввод значения с клавиатуры
a = input()
b = input()
ввести строку с клавиатуры
и связать с переменной a
Протокол:
21
33
2133
с=a + b
print ( c )
!
?
Почему?
Результат функции input – строка символов!
преобразовать в
целое число
a = int( input() )
b = int( input() )
К.Ю. Поляков, 2015
http://kpolyakov.spb.ru

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

Алгоритмизация и программирование, язык Python
18
Ввод с подсказкой
a = input ( "Введите число: " )
Введите число: 26
?
подсказка
Что не так?
a = int( input("Введите число: ") )
К.Ю. Поляков, 2015
http://kpolyakov.spb.ru

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

Алгоритмизация и программирование, язык Python
19
Изменение значений переменной
a
b
a
b
=
=
=
=
5
a + 2
(a + 2)*(b – 3)
b + 1
28
a
b
К.Ю. Поляков, 2015
=(5+2)*(7-3)
5
7
=5+2
8
=7+1
http://kpolyakov.spb.ru

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

Алгоритмизация и программирование, язык Python
20
Вывод данных
print ( a )
значение
переменной
значение и
текст
print ( "Ответ: ", a )
перечисление через запятую
print ( "Ответ: ", a+b )
вычисление
выражения
print ( a, "+", b, "=", c )
2 + 3 = 5
через пробелы
print ( a, "+", b, "=", c, sep = "" )
2+3=5
К.Ю. Поляков, 2015
убрать разделители
http://kpolyakov.spb.ru

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

Алгоритмизация и программирование, язык Python
21
Вывод данных через format
print ( a, "+", b, "=", c, sep = "" )
2+3=5
print ( "{}+{}={}".format(a, b, c ) )
К.Ю. Поляков, 2015
http://kpolyakov.spb.ru

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

Алгоритмизация и программирование, язык Python
22
Сложение чисел: простое решение
a = int ( input() )
b = int ( input() )
c=a+b
print ( c )
?
Что плохо?
К.Ю. Поляков, 2015
http://kpolyakov.spb.ru

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

Алгоритмизация и программирование, язык Python
23
Сложение чисел: полное решение
print ( "Введите два числа: " )
a = int ( input() )
подсказка
b = int ( input() )
c=a+b
print ( a, "+", b, "=", c, sep="" )
Протокол:
компьютер
Введите два целых числа
25
пользователь
30
25+30=55
К.Ю. Поляков, 2015
http://kpolyakov.spb.ru

24. Задания

Алгоритмизация и программирование, язык Python
24
Задания
«3»: Ввести три числа, найти их сумму.
Пример:
Введите три числа:
4
5
7
4+5+7=16
«4»: Ввести три числа, найти их сумму и
произведение.
Пример:
Введите три числа:
4
5
7
4+5+7=16
4*5*7=140
К.Ю. Поляков, 2015
http://kpolyakov.spb.ru

25. Задания

Алгоритмизация и программирование, язык Python
25
Задания
«5»: Ввести три числа, найти их сумму, произведение
и среднее арифметическое.
Пример:
Введите три числа:
4
5
7
4+5+7=16
4*5*7=140
(4+5+7)/3=5.333333
К.Ю. Поляков, 2015
http://kpolyakov.spb.ru

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

26
Программирование
на языке Python
Вычисления
К.Ю. Поляков, 2015
http://kpolyakov.spb.ru

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

Алгоритмизация и программирование, язык Python
27
Арифметическое выражения
3
1
2
4
5
6
a = (c + b**5*3 - 1) / 2 * d
Приоритет (старшинство):
1) скобки
2) возведение в степень **
3) умножение и деление
4) сложение и вычитание
a = (c + b*5*3 - 1) \
/2*d
a = (c + b*5*3
- 1) / 2 * d
К.Ю. Поляков, 2015
c b5 3 1
a
d
2
перенос на
следующую строку
перенос внутри
скобок разрешён
http://kpolyakov.spb.ru

28. Деление

Алгоритмизация и программирование, язык Python
28
Деление
Классическое деление:
a
x
x
x
x
=
=
=
=
=
9; b = 6
3 / 4
#
a / b
#
-3 / 4 #
-a / b #
=
=
=
=
0.75
1.5
-0.75
-1.5
Целочисленное деление (округление «вниз»!):
a
x
x
x
x
=
=
=
=
=
9; b = 6
3 // 4
a // b
-3 // 4
-a // b
К.Ю. Поляков, 2015
#
#
#
#
=
=
=
=
0
1
-1
-2
http://kpolyakov.spb.ru

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

Алгоритмизация и программирование, язык Python
29
Остаток от деления
% – остаток от деления
d = 85
b = d // 10
#
a = d % 10
#
d = a % b
#
d = b % a
#
a
b
d
a
=
=
=
=
К.Ю. Поляков, 2015
15
19
a // b
a % b
8
5
5
3
# 0
# 15
http://kpolyakov.spb.ru

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

Алгоритмизация и программирование, язык Python
30
Операторы // и %
a
d
a
d
a
d
a
d
a
=
=
=
=
=
=
=
=
=
1234
a % 10;
a // 10
a % 10;
a // 10
a % 10;
a // 10
a % 10;
a // 10
К.Ю. Поляков, 2015
print(
# 123
print(
# 12
print(
# 1
print(
# 0
d )
4
d )
3
d )
2
d )
1
http://kpolyakov.spb.ru

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

Алгоритмизация и программирование, язык Python
31
Сокращенная запись операций
a
a
a
a
a
a
+= b
-= b
*= b
/= b
//= b
%= b
К.Ю. Поляков, 2015
#
#
#
#
#
#
a
a
a
a
a
a
=
=
=
=
=
=
a
a
a
a
a
a
+ b
- b
* b
/ b
// b
% b
a += 1
увеличение на 1
http://kpolyakov.spb.ru

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

Алгоритмизация и программирование, язык Python
32
Ввод двух значений в одной строке
a, b = map ( int, input().split() )
21 33 input()
ввести строку с клавиатуры
21 33 input().split()
целые
применить
разделить строку на
части по пробелам
21 33 map ( int, input().split() )
эту
операцию
к каждой части
a, b = map ( int, input().split() )
К.Ю. Поляков, 2015
http://kpolyakov.spb.ru

33. Задания

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

34. Задания

Алгоритмизация и программирование, язык Python
34
Задания
«5»: Занятия в школе начинаются в 8-30. Урок длится
45 минут, перерывы между уроками – 10 минут.
Ввести номер урока и вывести время его
окончания.
Пример:
Введите номер урока:
6
13-50
К.Ю. Поляков, 2015
http://kpolyakov.spb.ru

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

Алгоритмизация и программирование, язык Python
35
Случайные числа
Случайно…
• встретить друга на улице
• разбить тарелку
• найти 10 рублей
• выиграть в лотерею
Случайный выбор:
• жеребьевка на
соревнованиях
• выигравшие номера
в лотерее
Как получить случайность?
К.Ю. Поляков, 2015
http://kpolyakov.spb.ru

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

Алгоритмизация и программирование, язык Python
36
Случайные числа на компьютере
Электронный генератор
• нужно специальное устройство
• нельзя воспроизвести результаты
Псевдослучайные числа – обладают свойствами
случайных чисел, но каждое следующее число
вычисляется по заданной формуле.
Метод середины квадрата (Дж. фон Нейман)
зерно
564321
318458191041
458191
в квадрате • малый период
(последовательность
повторяется через 106 чисел)
209938992481
938992
К.Ю. Поляков, 2015
http://kpolyakov.spb.ru

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

Алгоритмизация и программирование, язык Python
37
Линейный конгруэнтный генератор
X = (a*X+b) % c | интервал от 0 до c-1
X = (X+3) % 10 | интервал от 0 до 9
X = 0 3 6 9 2 5 8
8 1 4 7 0
зерно
!
зацикливание
Важен правильный выбор параметров
a, b и с!
Компилятор GCC:
a = 1103515245
b = 12345
c = 231
К.Ю. Поляков, 2015
http://kpolyakov.spb.ru

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

Алгоритмизация и программирование, язык Python
38
Генератор случайных чисел
import random
англ. random – случайный
Целые числа на отрезке [a,b]:
X = random.randint(1,6) # псевдосл. число
Y = random.randint(1,6) # уже другое число!
Генератор на [0,1):
X = random.random()
Y = random.random()
# псевдосл. число
# уже другое число!
Генератор на [a, b] (вещественные числа):
X = random.uniform(1.2, 3.5)
Y = random.uniform(1.2, 3.5)
К.Ю. Поляков, 2015
http://kpolyakov.spb.ru

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

Алгоритмизация и программирование, язык Python
39
Генератор случайных чисел
from random import *
подключить все!
англ. random – случайный
Целые числа на отрезке [a,b]:
X = randint(10,60) # псевдослучайное число
Y = randint(10,60) # это уже другое число!
Генератор на [0,1):
X = random()
Y = random()
К.Ю. Поляков, 2015
# псевдослучайное число
# это уже другое число!
http://kpolyakov.spb.ru

40. Задачи

Алгоритмизация и программирование, язык Python
40
Задачи
«3»: Игральный кубик бросается три раза (выпадает три
случайных значения). Сколько очков в среднем выпало?
Пример:
Выпало очков:
5 3 1
(5+3+1)/3=3
«4»: Игральный кубик бросается три раза (выпадает три
случайных значения). Из этих чисел составляется целое
число, программа должна найти его квадрат.
Пример:
Выпало очков:
1 2 3
Число 123
Его квадрат 15129
К.Ю. Поляков, 2015
http://kpolyakov.spb.ru

41. Задачи

Алгоритмизация и программирование, язык Python
41
Задачи
«5»: Получить случайное трёхзначное число и вывести
через запятую его отдельные цифры.
Пример:
Получено число 123
сотни: 1
десятки: 2
единицы: 3
К.Ю. Поляков, 2015
http://kpolyakov.spb.ru

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

42
Программирование
на языке Python
Ветвления
К.Ю. Поляков, 2015
http://kpolyakov.spb.ru

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

Алгоритмизация и программирование, язык Python
43
Условный оператор
Задача: изменить порядок действий в зависимости от
выполнения некоторого условия.
полная
форма
да
нет
ветвления
a > b?
M=a
M=b
вывод M
отступы
К.Ю. Поляков, 2015
?
Если a = b?
if a > b:
M = a
else:
M = b
http://kpolyakov.spb.ru

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

Алгоритмизация и программирование, язык Python
44
Условный оператор: неполная форма
M=a
да
b > a?
нет
M = a
if b > a:
M = b
M=b
неполная
форма
ветвления
вывод M
Решение в стиле Python:
M = max(a, b)
К.Ю. Поляков, 2015
M = a if a > b else b
http://kpolyakov.spb.ru

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

Алгоритмизация и программирование, язык Python
45
Условный оператор
if a < b:
с = a
a = b
b = c
?
?
Можно ли обойтись
без переменной c?
Решение в стиле Python:
Что делает?
b
a
4
6
2
6
4
?
4
c
a, b = b, a
К.Ю. Поляков, 2015
http://kpolyakov.spb.ru

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

Алгоритмизация и программирование, язык Python
46
Знаки отношений
> <
больше, меньше
>=
больше или равно
<=
меньше или равно
==
равно
!=
не равно
К.Ю. Поляков, 2015
http://kpolyakov.spb.ru

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

Алгоритмизация и программирование, язык Python
47
Вложенные условные операторы
Задача: в переменных a и b записаны возрасты Андрея и
Бориса. Кто из них старше?
Сколько вариантов?
if a > b:
print("Андрей старше")
else:
if a == b:
print("Одного возраста")
else:
print("Борис старше")
?
?
Зачем нужен?
К.Ю. Поляков, 2015
вложенный
условный оператор
http://kpolyakov.spb.ru

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

Алгоритмизация и программирование, язык Python
48
Каскадное ветвление
if a > b:
print("Андрей старше")
elif a == b:
print("Одного возраста")
else:
print("Борис старше")
!
elif = else if
К.Ю. Поляков, 2015
http://kpolyakov.spb.ru

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

Алгоритмизация и программирование, язык Python
49
Каскадное ветвление
cost = 1500
if cost < 1000:
print ( "Скидок
elif cost < 2000:
print ( "Скидка
elif cost < 5000:
print ( "Скидка
else:
print ( "Скидка
?
Что выведет?
К.Ю. Поляков, 2015
нет." )
2%." )
первое сработавшее
условие
5%." )
10%." )
Скидка 2%.
http://kpolyakov.spb.ru

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

Алгоритмизация и программирование, язык Python
50
Задачи (без функций min и max!)
«3»: Ввести два целых числа, найти наибольшее и
наименьшее из них.
Пример:
Введите два целых числа:
1 5
Наибольшее число 5
Наименьшее число 1
«4»: Ввести четыре целых числа, найти наибольшее из
них.
Пример:
Введите четыре целых числа:
1 5 4 3
Наибольшее число 5
К.Ю. Поляков, 2015
http://kpolyakov.spb.ru

51. Задачи

Алгоритмизация и программирование, язык Python
51
Задачи
'5': Ввести пять чисел и найти наибольшее из них.
Пример:
Введите пять чисел:
4
15
9
56
Наибольшее число 56
К.Ю. Поляков, 2015
4
http://kpolyakov.spb.ru

52. Задачи

Алгоритмизация и программирование, язык Python
52
Задачи
«6»: Ввести последовательно возраст Антона, Бориса и
Виктора. Определить, кто из них старше.
Пример:
Возраст Антона: 15
Возраст Бориса: 17
Возраст Виктора: 16
Ответ: Борис старше всех.
Пример:
Возраст Антона: 17
Возраст Бориса: 17
Возраст Виктора: 16
Ответ: Антон и Борис старше Виктора.
К.Ю. Поляков, 2015
http://kpolyakov.spb.ru

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

Алгоритмизация и программирование, язык Python
53
Сложные условия
Задача: набор сотрудников в возрасте 25-40 лет
(включительно). сложное условие
if v >= 25 and v <= 40 :
print("подходит")
else:
print("не подходит")
and «И»: одновременное выполнение
всех условий!
К.Ю. Поляков, 2015
http://kpolyakov.spb.ru

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

Алгоритмизация и программирование, язык Python
54
Сложные условия
Задача: набор сотрудников в возрасте 25-40 лет
(включительно). сложное условие
if v < 25 or v > 40 :
print("не подходит")
else:
print("подходит")
or «ИЛИ»: выполнение хотя бы одного
из двух условий!
К.Ю. Поляков, 2015
http://kpolyakov.spb.ru

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

Алгоритмизация и программирование, язык Python
55
Сложные условия
if not(a < b):
print("Cтарт!")
?
Как без «НЕ»?
not «НЕ»: если выполняется обратное условие
if a >= b:
print("Cтарт!")
Приоритет :
1) отношения (<, >, <=, >=, ==, !=)
2)not («НЕ»)
3)and («И»)
4)or («ИЛИ»)
К.Ю. Поляков, 2015
http://kpolyakov.spb.ru

56. Задачи

Алгоритмизация и программирование, язык Python
56
Задачи
«3»: Напишите программу, которая получает три числа рост трёх спортсменов, и выводит сообщение «По
росту.», если они стоят по возрастанию роста, или
сообщение «Не по росту!», если они стоят не по
росту.
Пример:
Введите рост трёх спортсменов:
165 170 172
По росту.
Пример:
Введите рост трёх спортсменов:
175 170 172
Не по росту!
К.Ю. Поляков, 2015
http://kpolyakov.spb.ru

57. Задачи

Алгоритмизация и программирование, язык Python
57
Задачи
«4»: Напишите программу, которая получает номер
месяца и выводит соответствующее ему время года
или сообщение об ошибке.
Пример:
Введите номер месяца:
5
Весна.
Пример:
Введите номер месяца:
15
Неверный номер месяца.
К.Ю. Поляков, 2015
http://kpolyakov.spb.ru

58. Задачи

Алгоритмизация и программирование, язык Python
58
Задачи
«5»: Напишите программу, которая получает возраст
человека (целое число, не превышающее 120) и
выводит этот возраст со словом «год», «года» или
«лет». Например, «21 год», «22 года», «25 лет».
Пример:
Введите возраст: 18
Вам 18 лет.
Пример:
Введите возраст: 21
Вам 21 год.
Пример:
Введите возраст: 22
Вам 22 года.
К.Ю. Поляков, 2015
http://kpolyakov.spb.ru

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

59
Программирование
на языке Python
Символьные строки
К.Ю. Поляков, 2015
http://kpolyakov.spb.ru

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

Алгоритмизация и программирование, язык Python
60
Символьные строки
Начальное значение:
!
s = "Привет!"
Вывод на экран:
print ( s )
Строка – это
последовательность
символов!
Сложение:
s1 = "Привет"
"Привет, Вася!"
s2 = "Вася"
s = s1 + ", " + s2 + "!"
Умножение:
s = "АУ"
s5 = s*5
К.Ю. Поляков, 2015
s5 = s + s + s + s + s
?
АУАУАУАУАУ
Что получим?
http://kpolyakov.spb.ru

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

Алгоритмизация и программирование, язык Python
61
Символьные строки
Вывод символа на экран:
print ( s[5] )
print ( s[-2] )
0
1
2
3
4
5
6
П
р
и
в
е
т
!
s[len(s)-2]
s[0] s[1] s[2] s[3] s[4] s[5] s[6]
Длина строки:
n = len ( s )
К.Ю. Поляков, 2015
http://kpolyakov.spb.ru

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

Алгоритмизация и программирование, язык Python
62
Символьные строки
Ввод с клавиатуры:
s = input ( "Введите имя: " )
Изменение строки
строки:запрещено!
s[4] = "a"
!
Строка – это неизменяемый объект!
... но можно составить новую строку:
s1 = s + "a"
составить «кот»
s = "информатика"
print(s[-2]+s[3]+s[-4])
К.Ю. Поляков, 2015
http://kpolyakov.spb.ru

63. Срезы

Алгоритмизация и программирование, язык Python
63
Срезы
s = "0123456789"
s1 = s[3:8]
разрезы
0
К.Ю. Поляков, 2015
# "34567"
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
1
2
3
4
5
6
7
8
9
http://kpolyakov.spb.ru

64. Срезы строк

Алгоритмизация и программирование, язык Python
64
Срезы строк
s = "0123456789"
s1 = s[:8]
# "01234567"
от начала строки
s = "0123456789"
s1 = s[3:]
# "3456789"
до конца строки
s1 = s[::-1]
# "9876543210"
реверс строки
К.Ю. Поляков, 2015
http://kpolyakov.spb.ru

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

Алгоритмизация и программирование, язык Python
65
Операции со строками
Срезы с отрицательными индексами:
s = "0123456789"
s1 = s[:-2]
# "01234567"
len(s)-2
s = "0123456789"
s1 = s[-6:-2]
len(s)-6
К.Ю. Поляков, 2015
# "4567"
len(s)-2
http://kpolyakov.spb.ru

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

Алгоритмизация и программирование, язык Python
66
Операции со строками
Удаление:
s = "0123456789"
s1 = s[:3] + s[9:]
"012"
"9"
# "0129"
Вставка:
s = "0123456789"
s1 = s[:3] + "ABC" + s[3:]
"012ABC3456789"
К.Ю. Поляков, 2015
http://kpolyakov.spb.ru

67. Задачи

Алгоритмизация и программирование, язык Python
67
Задачи
«3»: Ввести с клавиатуры пароль (символьную строку), если
его длина меньше, чем 6 символов, вывести сообщение
«Слишком короткий пароль!», иначе вывести сообщение
«ОК».
Пример:
Введите пароль:
12345
Слишком короткий пароль!
Пример:
Введите пароль:
123456789
ОК.
К.Ю. Поляков, 2015
http://kpolyakov.spb.ru

68. Задачи

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

69. Задачи

Алгоритмизация и программирование, язык Python
69
Задачи
«5»: Ввести с клавиатуры имя файла. Если расширение
имени файла – htm, html или php, выдать сообщение
«Это веб-страница!», иначе выдать сообщение «Что-то
другое.»
Пример:
Введите имя файла:
C:\DOC\Сайт\index.html
Это веб-страница!
Пример:
Введите имя файла:
C:\Документы\Приказ.doc
Что-то другое.
К.Ю. Поляков, 2015
http://kpolyakov.spb.ru
English     Русский Rules