Похожие презентации:
Введение в программирование на языке 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 = 5b = 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. Арифметическое выражение
31
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 + ba -= 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.
Программирование