ЧАСТЬ 3 Моделироавание реальных объектов и СОЗДАНИЕ
МОБИЛЬНЫХ ПРИЛОЖЕНИЙ НА ПИТОН ............................................................. 140
Создание технического задания для исполнителя ...................................................... 140
ПРОТОТИПИРОВАНИЕ ................................................................................................. 140
Моделирование покупки билета в кинотеатре ............................................................ 140
Пример 1 Бронирование билета в сисуроку КИНОТЕАТР с
использование массивов ................................................................................................... 140
https://metanit.com/python/tutorial/9.5.php ..................................................................... 140
Задание 2 Длина пути если знаем координаты двух точек ............................................................... 141
Задание Вычислить длину пути, если знаем координаты двух точек ............................................. 141
Проектирование: ........................................................................................................................................ 141
import tkinter ....................................................................................................................... 142
from tkinter import* ............................................................................................................ 142
root = Tk() ............................................................................................................................. 142
btn1 = Button(root) .............................................................................................................. 142
btn1["text"] = 'Привет' ...................................................................................................... 142
btn1["bg"] = 'blue' ............................................................................................................... 142
6
btn1["fg"] = 'white' .............................................................................................................. 142
btn1.place(x = 50, y = 50) ..................................................................................................... 142
btn2 = Button(root, text='Кнопка 2', bg='blue', fg='white') ........................................... 142
btn2.place(x = 150, y = 50) ................................................................................................... 142
root.mainloop() ..................................................................................................................... 142
ПРИЛОЖЕНИЕ 3 Команды черепашки ....................................................................... 147
ПРИЛОЖЕНИЕ Ключевые слова .................................................................................. 147
ПРИЛОЖЕНИЕ СПРАВОЧНИК КОМАНД МОДУЛЯ СЛУЧАЙНЫХ
ЧИСЕЛ ................................................................................................................................. 148
СПИСОК ЛИТЕРАТУРЫ ................................................................................................ 149
7
ЧАСТЬ 1. Основы языка Python УРОК 1. Модули Графические объекты в Python. Модуль Turtle (черепашка) Модулем в Python называется любой файл с программой. Подключение модуля из стандартной библиотеки. Подключить модуль можно с помощью инструкции import.
Работа с модулями: создание, подключение инструкциями import и from Название модуля
Подключение
Математический модуль Math import math
Графическая библиотеки Tkinter import Tkinter
Модуль random import random
Модуль time import time
Если название модуля слишком длинное, то для него можно создать псевдоним, с помощью ключевого слова as. import math as m
1Классная работа
1) Сделать в тетрадь конспект основных команд
2) Переписать в тетрадь коды программ
Практическая работа
3) Выполнить программы на сайте Мета школа черепашка https://metaschool.ru/pub/konkurs/python/turtle/index.p hp
Вместо
слова фамилия писать свою фамилию4) Прислать фотографии работ в элжур
Домашнее задание
Решить пример 2 самостоятельно из конспекта ( написан ниже)
Классная работа Основные команды модуля Turtle (черепашка) в Python
Turtle модуль для Питон, позволяющий создавать графические объекты, рисунки в специальном окне.
Чтобы начать работу с модулем, нужно ввести объект Turtle() import turtle t = turtle.Turtle()
Чтобы программа с модулем turtle на Python работала корректно, в самом конце программы всегда нужно прописывать две команды. t.screen.exitonclick() t.screen.mainloop()
С помощью команды t.screen.exitonclick() программа на Python реагирует на нажатие кнопки мыши после исполнения программы. Если пользователь нажмѐт на левую кнопку мыши, пока курсор находится в окне для графики модуля turtle, то окно закроется. t.screen.mainloop() останавливает выполнение программы.
Черепаха
умеет выполнять небольшой набор команд, а именно:
Таблица 1 Команда Значение 1
https://pythonworld.ru/osnovy/rabota-s-modulyami-sozdanie-podklyuchenie-instrukciyami-import-i-from.html
8
Команда
Значение
forward(X)
Пройти вперѐд X пикселей backward(X)
Пройти назад X пикселей left(X)
Повернуться налево на X градусов right(X)
Повернуться направо на X градусов penup()
Не оставлять след при движении pendown()
Оставлять след при движении shape(X)
Изменить значок черепахи (―arrow‖, ―turtle‖, ―circle‖, ―square‖, ―triangle‖,
―classic‖) stamp()
Нарисовать копию черепахи в текущем месте color()
Установить цвет begin_fill()
Необходимо вызвать перед рисованием фигуры, которую надо закрасить end_fill()
Вызвать после окончания рисования фигуры width()
Установить толщину линии goto(x, y)
Переместить черепашку в точку (x, y)
Можно писать сокращенные команды t.fd(x)-вперед на х пикселей t.bk(x)-назад на х пикселей t.left(x) влево на х градусов t.right(x) вправо t.goto(x, y) перемещение в заданную точку, где x и y – координаты точки, в которую должна переместиться черепашка t.up() без отображения t.down() с отображением t.begin_fill(), t.end_fill() t.up()
Поднять перо t.goto(-100,-30)
Переместиться на 100 пикселей влево и на
30 пикселей вниз t.down()
Опустить перо t.color('red')
Поменять цвет на красный t.circle(30)
Нарисовать окружность
Начать и остановить заливку. Например, нарисовать жѐлтый круг с красным контуром: t.color('red') t.fillcolor('yellow') t.begin_fill() t.circle(100) t.end_fill()
Или, например, нарисовать жѐлтый пятиугольник с красным контуром: t.color('red') t.fillcolor('yellow') t.begin_fill() t.circle(100, 360, 5) t.end_fill() t.color(c)
9
Изменить цвет на c. Рекомендуемые цвета:
-black,
-blue, -brown, -cyan, -gold,
-green, -grey, -magenta, -orange, -pink, -red, -violet, -yellow. Цвет ставится в кавычки. Например, изменим цвет на красный: t.color('red') t.forward(d)
Передвинуться вперѐд на d пикселей, например, на 50: t.forward(50) t.goto(x,y)
Перейти в точку с координатами (x,y), например, (100,15): t.goto(100, 150) t.left(angle)
Повернуть налево на угол angle, например, на 90 градусов: t.left(90) t.penup()
Поднять перо. Если перо поднято, черепашка не оставляет след при движении: t.penup() t.pendown()
Опустить перо. Если перо опущено, черепашка оставляет след при движении: t.pendown() t.right(angle)
Повернуть направо на угол angle, например, на 60 градусов: t.right(60) t.stamp()
Поставить отпечаток, эта команда без параметров: t.stamp()
Практическая работа
Задание 1. Правильный треугольник
Рисуем правильный треугольник со стороной 100 пикселей
Код
Результат import turtle t = turtle.Turtle() t.shape('turtle') t.write("Фамилия",font=('arial',24)) t.fd(100) t.left(120) t.fd(100) t.left(120) t.fd(100) t.left(120) t.screen.exitonclick() t.screen.mainloop()
10
Задание 2. Квадрат
Рисуем квадрат со стороной 100 пикселей
Код
Результат import turtle t = turtle.Turtle() t.shape('turtle') t.write("Фамилия",font=('arial',24)) t.fd(100) t.left(90) t.fd(100) t.left(90) t.fd(100) t.left(90) t.fd(100) t.left(90) t.screen.exitonclick() t.screen.mainloop()
Задание 3. Цветок из окружностей
Рисуем окружности радиуса 30 пикселей с поворотом на 90 градусов
Код
Результат import turtle t = turtle.Turtle() t.shape('turtle') t.write("Фамилия", font=('arial',24)) t.circle(30) t.left(90) t.circle(30) t.left(90) t.circle(30) t.left(90) t.circle(30) t.screen.exitonclick() t.screen.mainloop()
Задание 4. Раскрашенный кружок
Рисуем окружности радиуса 30 пикселей с заливкой зеленого цвета
Код
Результат import turtle t = turtle.Turtle() t.shape('turtle') t.write("Фамилия") t.color("green") t.begin_fill() t.circle(30) t.end_fill() t.screen.exitonclick() t.screen.mainloop()
11
Задание 5. Раскрашенный трехлистник
Рисуем три окружности радиуса 30 пикселей с заливкой зеленого, желтого и красного цвета и поворотом на 120 градусов
Код
Результат import turtle t = turtle.Turtle() t.shape('turtle') t.write("Фамилия") t.color("green") t.begin_fill() t.circle(30) t.end_fill() t.left(90) t.color("yellow") t.begin_fill() t.circle(30) t.end_fill() t.left(90) t.color("red") t.begin_fill() t.circle(30) t.end_fill() t.left(90) t.screen.exitonclick() t.screen.mainloop()
12
Задание 6. Две ломаные линии
Код
Результат import turtle t = turtle.Turtle() t.shape('turtle') t.write("Фамилия") t.color('orange') t.goto(30,40) t.goto(-100,80) t.goto(-70,-130) t.color('green') t.penup() t.goto(100,-130) t.pendown() t.goto(150,60) t.goto(-50,100) t.goto(-50,-80) t.screen.exitonclick() t.screen.mainloop()
Задание 7. Домик разноцветный
Код
Результат import turtle t = turtle.Turtle() t.shape('turtle') t.color("yellow") t.begin_fill() def rectangle(n): for (i) in range(n): t.forward(200) t.right(90) rectangle(4) t.end_fill() t.color('orange') t.begin_fill() t.left(45) t.forward(140) t.right(90) t.forward(140) t.end_fill() t.penup() t.left(45) t.goto(100,-130) t.pendown()
13 t.color('cyan') t.begin_fill() t.circle(40) t.end_fill() t.color('green') t.write("Фамилия",font=('arial',24)) t.end_fill()
Домашнее задание
Написать программу, которая рисует правильный 10-угольник
УРОК 2 Алфавит, типы данных и арифметические операции в Python 3.
Арифметические операторы в Python
Арифметические операторы используются с числовыми значениями для выполнения общих математических операций:
Оператор
Значение
Пример
+ добавление
4 + 5
— вычитание
8 — 3
* умножение
5 * 5
/ деление
4 / 2
% остаток от деления
7 % 2
** возведение в степень
2 ** 3
// целочисленное деление
15 // 4
Операторы присваивания в Python
Операторы присваивания используются для присваивания значений переменным:
Оператор
Пример
Так же как
= x = 5 x = 5
+= x += 3 x = x + 3
-= x -= 3 x = x — 3
*= x *= 3 x = x * 3
/= x /= 3 x = x / 3
%= x %= 3 x = x % 3
//= x //= 3 x = x // 3
**= x **= 3 x = x ** 3
&= x &= 3 x = x & 3
|= x |= 3 x = x | 3
^= x ^= 3 x = x ^ 3
>>= x >>= 3 x = x >> 3
<<= x <<= 3 x = x << 3
14
Операторы сравнения в Python
Операторы сравнения используются для сравнения двух значений:
Таблица 2
Оператор
Значение
Пример
== равно x == y
!= не равно x != y
> больше чем x > y
< меньше чем x < y
>= больше чем или равно x >= y
<= меньше чем или равно x <= y
Логические операторы в Python
Логические операторы используются для объединения условных операторов:
Оператор Значение
Пример
and
Возвращает значение True если оба утверждения верны x < 5 and x < 10 or
Возвращает True если одно из утверждений верно x < 5 or x < 4 not
Меняет результат, возвращает False если результат True not(x < 5 and x < 10)
Операторы тождественности в Python
Операторы тождественности используются для сравнения объектов. Являются ли они одним и тем же объектом с одинаковым местоположением в памяти:
Оператор Значение
Пример
is
Возвращает true если переменные являются одним объектом x is y is not
Возвращает true если переменные разные x is not y
Операторы принадлежности в Python
Операторы принадлежности используются для проверки того, представлена ли последовательность в объекте:
Оператор Значение
Пример
in
Возвращает True если последовательность присутствует в объекте x in y not in
Возвращает True если последовательность не присутствует в объекте x not in y
Побитовые операторы в Python
Побитовые операторы используются для работы в битовом (двоичном) формате:
Оператор Название
Значение
&
И
Устанавливает каждый бит в 1, если оба бита 1
|
Или
Устанавливает каждый бит в 1 если один из двух битов 1
^ только или
Устанавливает каждый бит в 1 если только один из битов 1
Не
Переставляет все биты
<<
Сдвиг влево Сдвигает влево на количество бит указанных справа
>>
Сдвиг вправо Сдвигает вправо на количество бит указанных справа
15
Алфавит и арифметические операции в Python 3
Алфавит состоит из:
Прописных и строчных букв латиницы: A...Z, a…z;
Цифр: 0...9;
Специальных символов: + — * / = < >.,:; ‗ # ( ) { } [ ] и их комбинаций: «>=» «
Таблица 3 Арифметические операции а Python 3
Арифметическая операция
Символ
Пример
Результат
Сложение
+ 5+3 8
Вычитание
- 7-1 6
Умножение
* 2*7 14
Деление (истинное)
/ 7/2 3,5
Целочисленное деление
// 7//2 3
Остаток от деления
% 7%2 1
Типы переменных в Python 3 bool(x) - преобразование к типу bool, использующая стандартную процедуру проверки истинности. Если х является ложным или опущен, возвращает значение False, в противном случае она возвращает True.
bytearray([источник [, кодировка [ошибки]]]) - преобразование к bytearray. Bytearray - изменяемая последовательность целых чисел в диапазоне 0≤X<256. Вызванная без аргументов, возвращает пустой массив байт.
bytes([источник [, кодировка [ошибки]]]) - возвращает объект типа bytes, который является неизменяемой последовательностью целых чисел в диапазоне 0≤X<256.
Аргументы конструктора интерпретируются как для bytearray().
complex([real[, imag]]) - преобразование к комплексному числу.
dict([object]) - преобразование к словарю.
float([X]) - преобразование к числу с плавающей точкой. Если аргумент не указан, возвращается 0.0.
frozenset([последовательность]) - возвращает неизменяемое множество.
int([object], [основание системы счисления]) - преобразование к целому числу.
list([object]) - создает список.
memoryview([object]) - создает объект memoryview.
object() - возвращает безликий объект, являющийся базовым для всех объектов.
range([start=0], stop, [step=1]) - арифметическая прогрессия от start до stop с шагом step.
set([object]) - создает множество.
slice([start=0], stop, [step=1]) - объект среза от start до stop с шагом step.
str([object], [кодировка], [ошибки]) - строковое представление объекта. Использует метод
__str__.
tuple(obj) - преобразование к кортежу.
План действий в задачах на вычисление: 1) Подключить математический модуль;
2) Запросить у пользователя значения исходных переменных;
4)
Вычислить по формулам результирующие переменные;
5) Напечатать сообщения, в которых указать значения промежуточных и результирующих переменных.
16
Пример 2 Площадь прямоугольника
import math print('введите стороны прямоугольника') a = int(input('a=')) b = int(input('b=')) s =a*b print('Площадь прямоугольника s=',s)
Пример 3 Площадь круга
import math print('введите радиус круга')
R = int(input('R=')) s =3.14*R*R print('Площадь круга s=',s)
Таблица 4 Пример 4 Пример подключения и работы графической библиотеки
Tkinter
Код программы+результат
# Подключение импортирование библиотеки import turtle
#Поднять карандаш-перо turtle.penup()
# Перейти в точку с координатами 35,35 turtle.goto(35, 35)
# Повернуть курсор на 90 градусов вправо turtle.right(90)
# Опустить перо turtle.pendown()
# Пройти вперед расстояние 70,
#если курсор опущен, то будет нарисована линия по пути следования turtle.forward(70)
# Повернуть курсор на 90 градусов вправо turtle.right(90)
# Пройти вперед расстояние 70 turtle.forward(70) turtle.right(90) turtle.forward(70) turtle.right(90) turtle.forward(70) turtle.penup() turtle.goto(45, 35) turtle.right(225) turtle.pendown() turtle.forward(70) turtle.left(90) turtle.forward(70) turtle.left(135) # Повернуть курсор влево на 135 градусов turtle.forward(100) turtle.done() turtle.write('Ваша ФАМИЛИЯ')
17 turtle.screen.exitonclick() turtle.screen.mainloop()
Пример 5. Формула Герона Составить программу для вычисления и вывода площади треугольника по трем сторонам, значения длин сторон пользователь вводит с клавиатуры
Таблица 5
Формулы и чертеж
Программа
Формулы:
Полупериметр
2
cbap
Площадь
cpbpappS
import math print('введите стороны треугольника') a = int(input('a=')) b = int(input('b=')) c = int(input('c=')) p = (a + b + c) / 2 s =math.sqrt (p * (p - a) * (p - b) * (p - c)) print('s=',s) print('Ваша ФАМИЛИЯ')