Программирование на языке Python
Основные особенности языка Python
Синтаксис языка Python
Простейшая программа
Вывод на экран
Задания
Программирование на языке Python
Переменные
Имена переменных
Типы переменных
Типы переменных
Типы переменных
Типы переменных
Преобразование типов переменных
запись значения в переменную?
Изменение значений переменной
Программирование на языке Python
Операторы языка
Арифметические операторы
Операторы сравнения
Операторы присваивания
Операторы присваивания
Логические операторы
Ввод значения с клавиатуры
Ввод с подсказкой
Сложение чисел: простое решение
Сложение чисел: полное решение
Арифметическое выражение
Деление
Остаток от деления
Сокращенная запись операций
Программирование на языке Python
Вывод данных
Целые числа
Вещественные числа
Вещественные числа
Строки
Целые числа
Вещественные числа
Вещественные числа
Стандартные функции
Случайные числа
Случайные числа на компьютере
Генератор случайных чисел
Генератор случайных чисел
Задачи
Задачи
1.51M
Категория: ПрограммированиеПрограммирование

Введение в программирование на языке Python. Лекция 1

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

Лекция 1. Введение в программирование
на языке Python
Заманова С.К.

2.

История
Python был представлен сотрудником голландского
института Гвидо ван Россумом (Guido van Rossum) в
1991 году, когда он работал над распределенной ОС
Амеба. Ему требовался расширяемый язык, который бы
обеспечил поддержку системных вызовов.
За основу были взяты ABC и Модула-3.
В качестве названия он выбрал Python в честь
комедийных серий BBC "Летающий цирк Монти-Питона".
С тех пор Python развивался при поддержке тех
организаций, в которых Гвидо работал.
Особенно активно язык совершенствуется в настоящее
время, когда над ним работает не только команда
создателей, но и целое сообщество программистов со
всего мира.

3.

Философия языка
>>> import this
The Zen of Python, by Tim Peters
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
…………………………………...
Красивое лучше, чем уродливое.
Явное лучше, чем неявное.
Простое лучше, чем сложное.
Сложное лучше, чем запутанное.
Плоское лучше, чем вложенное.
Разреженное лучше, чем плотное.
Читаемость имеет значение.
Особые случаи не настолько особые, чтобы нарушать правила.
…………………………………………………………………………..

4. Основные особенности языка Python

универсальный объектно-ориентированный
язык программирования, используемый в
различных средах.
интерпретируемый язык программирования.
Это означает, что исходный код преобразуется
в машинный код с помощью специальной
программы, называемой интерпретатором.
характеризуется четким синтаксисом, в языке
мало используются дополнительные скобки,
синтаксические элементы с точкой с запятой.
4

5. Синтаксис языка Python

Для обозначения комментариев на языке Python
используется знак #.
Комментарии и пустые строки интерпретатором
не учитываются.
Для выделения блоков кода используются
только отступы.
В первой строке Python не должно быть
отступа.
В исходном коде Python для отделения
выражений друг от друга символ не
используется, например символ";".
Также не используется символ фигурных скобок
{ }, объединяющий операторы в один блок.
5

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

# Это пустая программа
комментарии после #
не обрабатываются
кодировка utf-8
по умолчанию)
# -*- coding: utf-8 -*# Это пустая программа Windows: cp1251
"""
Это тоже комментарий
"""

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

print ( "2+2=?" )
print ( "Ответ: 4" )
автоматический
переход на новую
строку
Протокол:
2+2=?
Ответ: 4
print ( '2+2=?' )
print ( 'Ответ: 4' )

8. Задания

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

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

Переменные

10. Переменные

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

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

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

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

В Python есть изменяемые и неизменные типы данных.
К неизменным типам относятся:
int – целые числа;
float – числа с плавающей точкой (дробные);
complex – комплексные числа;
bool – логические переменные;
tuple – кортежи;
str – строки;
К изменяющимся типам относятся:
list – списки;
set – набор;
dict – словари.
Тип переменной может быть определен командой type().
12

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

• Числа
- Для хранения целых чисел Python в отличие от большинства
языков использует всю доступную память.
- Вещественные числа реализованы на основе чисел с
плавающей точкой двойной точности — double (64 бита). 1 бит на
знак, 11 бит на показатель экспоненты и 52 бита на значащую
часть (мантиссу).
Примеры: 3.0, -123.345, .76543, 23.490е23.
• Логические: True, False.
Логический тип на самом деле является лишь подтипом целого,
значение False соответствует нулю, True — любому ненулевому
целому числу.

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

• Упорядоченные последовательности
— строки: последовательность литералов (символов).
Строковые значения должны быть заключены в одинарные и
двойные кавычки.
Примеры: 'a', ‘фис', '234g 3654___', "dont".
— списки: последовательность произвольных элементов,
разделяемых запятыми и взятая в квадратные скобки. Пустой
список— [ ].
Примеры: [1, 2, 3], ['Name', 'Surname', Age].
— кортежи: последовательность произвольных элементов,
разделяемых запятыми, которая может быть взята в круглые
скобки. Пустой кортеж обязательно должен быть взят в скобки: (),
кортеж из одного элемента обязательно должен содержать
запятую после единственного элемента (4,).
Примеры: (2, 3) , (‘abc', 345)

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

15
Типы переменных
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'>
целое число (integer)
вещественное число
символьная строка
логическая

16. Преобразование типов переменных

int(n)- преобразует в целое
float(n)- преобразует в вещественное
str(n)- преобразует в символьное
a = 4.5
print(str(a))
> > > “4.5”
Тип определяет:
• область допустимых значений
• допустимые операции
• объём памяти
• формат хранения данных
строка

17. запись значения в переменную?

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

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

a = 5
b = a + 2
a = (a + 2)*(b – 3)
b = b + 1
28
a
b
=(5+2)*(7-3)
5
7
=5+2
8
=7+1

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

Ввод данных с клавиатуры и
простейшие операторы

20. Операторы языка


Арифметические операторы
Операторы сравнения (реляционные)
Операторы присваивания
Логические операторы
20

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

Оператор
Описание
Примеры
+
Сложение
15+5 результат 20
-
Вычитание
13.4 -7 результат 6.4
*
Умножение
5*5 результат 25
/
Деление
15 / 5 результат 3
5.0 / 2 результат 2.5
%
Деление по модулю
(возвращает остаток от
деления)
6 % 2 результат 0
7 % 2 результат 1
13.2 % 5 результат 3.2
**
Возведение в степень
-3 ** 2 результат -9
//
Получение целой части
4 // 3 результат 1
25 // 6 результат 4
21

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

22
Операторы сравнения
Оператор
Описание
Примеры
==
Если оба операнда равны друг
другу, условие будет истинным
True == False результат False
"hello" == "hello” результат True
!=
Если оба операнда не равны
друг другу, условие будет
истинным
12 != 5 результат True
False != False результат False
"hi" != "Hi" результат True
<>
12 <> 5 результат True
>
5 > 2 результат True
<
3 < 5 результат True.
"A" < "B” результат True.
>=
23 >= 3.2 результат True.
"C" >= "D” результат False.
<=
0 <= 0.0 результат True.
-0.001 <= -36 результат False

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

23
Операторы присваивания
Оператор
Описание
Примеры
=
присваивание
C=20
+=
Сложение с
присваиванием
с=5 а=2
с += а или с = с + а
значение с= 7
-=
Вычитание с
присваиванием
с=5 а=2
с -= а или с = с- а
значение с=3
*=
Умножение с
присваиванием
с=5 а=2
с *= а или с = с * а
значение с=10
/=
Деление с присваиванием
c=10 а=2
с /= а или с = с / а
значение с=5

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

24
Операторы присваивания
Оператор
Описание
Примеры
%=
Деление по модулю с
присваиванием
с=5 а=2
с %= а или с = с % а
значение с= 1
**=
Возведение в степень
с присваиванием
с=3 а=2
с **= а или с = с ** а
значение с= 9
//=
Получение целой части с
присваиванием
с = 11 а = 2
с //= а или с = с // а
значение с=5

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

Оператор
Описание
and
Логический оператор "и". Условие будет
истинным, если оба операнда будут
истинными.
or
Логический оператор "или". Если хотя бы
один операнд-истина, то все выражения
будут истинными.
not
Логический оператор “не". Меняет
логическое значение операнда на
противоположное.
25

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

a = input()
b = input()
ввести строку с клавиатуры
и связать с переменной a
Протокол:
21
33
2133
с=a + b
print ( c )
? Почему?
! Результат функции input – строка символов!
преобразовать в
целое число
a = int( input() )
b = int( input() )

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

a = input ( "Введите число: " )
Введите число: 26
подсказка
a = int( input("Введите число: ") )
– для python 3.x обязательно!!!

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

a = int ( input() )
b = int ( input() )
c=a+b
print ( c )

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

print ( "Введите два числа: " )
a = int ( input() )
подсказка
b = int ( input() )
c=a+b
print (str(a)+"+"+str(b)+"="+str(c)
Протокол:
компьютер
Введите два целых числа
25 30
пользователь
25 + 30 = 55

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

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
c b5 3 1
a
d
2
перенос на
следующую строку
перенос внутри
скобок разрешён

31. Деление

Классическое деление:
a = 9.0; b = 6.0
x = 3.0 / 4
# = 0.75
x = a / b
# = 1.5
x = -3.0 / 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

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

% – остаток от деления
d = 85
b = d // 10
# 8
a = d % 10
# 5
d = a % b
# 5
d = b % a
# 3
Для отрицательных чисел:
a = -7
b = a // 2
d = a % 2
# -4
# 1
остаток 0
-7 = (-4)*2 + 1

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

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

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

Вывод данных.
Формат вывода.

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

print ( a )
значение
переменной
значение и
текст
print ( "Ответ: ", a )
перечисление через запятую
print ( "Ответ: ", a+b )
вычисление
выражения
print (str(a)+" + "+str(b)+" = "+str(c)
2 + 3 = 5
через пробелы
print (str(a)+" + "+str(b)+" = "+str(c), sep = ""
2+3=5
убрать разделители
(для Python 3)

36. Целые числа

37. Вещественные числа

38. Вещественные числа

39. Строки

40. Целые числа

40
Целые числа
% d – целое число
Форматы вывода:
x = 10.57
print(“%d” %(x) )
print (“%5d” %(x))
10
10
всего знаков
print (“%05d” %(x))
5 символов с 0 ми впереди
00010

41. Вещественные числа

41
Вещественные числа
! Целая и дробная части числа разделяются
точкой!
Форматы вывода:
x = 123.456
print( x )
123.456
print("{:10.2f}".format(x))
123.46
всего знаков
в дробной части
print("{:10.2g}".format(x))
1.2e+02
значащих цифр
1,2 102

42. Вещественные числа

42
Вещественные числа
Экспоненциальный формат:
3,333333 10–5
x = 1./30000
print("{:e}".format(x)) 3.333333e-05
x = 12345678.
print("{:e}".format(x)) 1.234568e+07
1,234568 107
x = 123.456
print("{:e}".format(x)) 1.234560e+02
print("{:10.2e}".format(x))
1.23e+02
всего знаков
в дробной части

43. Стандартные функции

abs(x) — модуль числа
int(x) — преобразование к целому числу
import math
подключить
математический модуль
math.pi
— число «пи»
math.sqrt(x) — квадратный корень
math.sin(x) — синус угла, заданного в радианах
math.cos(x) — косинус угла, заданного в радианах
math.exp(x) — экспонента ех
math.ln(x)
— натуральный логарифм
math.floor(x) — округление «вниз»
math.ceil(x) — округление «вверх»
x = math.floor(1.6)# 1
x = math.ceil(1.6) # 2
x = math.floor(-1.6) #-2
x = math.ceil(-1.6) #-1

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

44
Случайные числа
Случайно…
• встретить друга на улице
• разбить тарелку
• найти 10 рублей
• выиграть в лотерею
Как получить случайность?
Случайный выбор:
• жеребьевка на
соревнованиях
• выигравшие номера
в лотерее

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

Электронный генератор
• нужно специальное устройство
• нельзя воспроизвести результаты
Псевдослучайные числа – обладают свойствами
случайных чисел, но каждое следующее число
вычисляется по заданной формуле.
Метод середины квадрата (Дж. фон Нейман)
зерно
564321
318458191041
458191
209938992481
938992
в квадрате • малый период
(последовательность
повторяется через 106 чисел)
45

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

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)
46

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

from random import *
подключить все!
Целые числа на отрезке [a,b]:
X = randint(10,60) # псевдослучайное число
Y = randint(10,60) # это уже другое число!
Генератор на [0,1):
X = random(); # псевдослучайное число
Y = random() # это уже другое число!
Генератор на [a, b] (вещественные числа):
X = uniform(1.2, 3.5) # псевдосл. число
Y = uniform(1.2, 3.5) # уже другое число!
47

48. Задачи

«A»: Ввести с клавиатуры три целых числа, найти их сумму,
произведение и среднее арифметическое.
Пример:
Введите три целых числа:
5 7 8
5+7+8=20
5*7*8=280
(5+7+8)/3=6.667
«B»: Ввести с клавиатуры координаты двух точек (A и B) на
плоскости (вещественные числа). Вычислить длину
отрезка AB.
Пример:
Введите координаты точки A:
5.5 3.5
Введите координаты точки B:
1.5 2
Длина отрезка AB = 4.272

49. Задачи

«C»: Получить случайное трехзначное число и вывести
через запятую его отдельные цифры.
Пример:
Получено число 123.
Его цифры 1, 2, 3.
English     Русский Правила