Файл: Методические указания по подготовке к практическим занятиям, в том числе в интерактивной форме, и самостоятельному изучению дисциплины для школьников 911 классов общеобразовательных средних учебных заведений.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 04.12.2023
Просмотров: 297
Скачиваний: 2
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
1
Муниципальное бюджетное общеобразовательное учреждение
«Средняя общеобразовательная школа №63»
ИНФОРМАТИКА И ПРОГРАММИРОВАНИЕ
(Python 3 )
Методические указания по подготовке к практическим занятиям, в том числе в
интерактивной форме, и самостоятельному изучению дисциплины
для школьников 9-11 классов общеобразовательных средних учебных заведений
(базовый уровень)
Красноярск 2022
2
Издаѐтся по решению учебно-методического совета МБОУ СОШ 63
Коренюгина Л.М.
ИНФОРМАТИКА И ПРОГРАММИРОВАНИЕ (Python 3 ): методические указания по подготовке к практическим занятиям, в том числе в интерактивной форме, и самостоятельному изучению дисциплины для школьников
9-11 классов общеобразовательных средних учебных заведений (базовый уровень) / Л.М.Коренюгина.
– Красноярск: МБОУ СОШ 63, 2022. – 56 с.;
Методические указания включают содержание основных вариантов практических работ по дисциплине и задания к ним. Представлены контрольные вопросы.
МБОУ СОШ 63, 2022
Коренюгина Л.М., 2022
3
Содержание
Оглавление
ЧАСТЬ 1. Основы языка Python ......................................................................................... 7
УРОК 1. Модули Графические объекты в Python. Модуль Turtle (черепашка) ................................ 7
УРОК 2 Алфавит, типы данных и арифметические операции в Python 3. .............. 13
Урок 3 Линейные алгоритмы в языке Python 3 ............................................................ 20
Практическая работа №3 к уроку 3 Линейные алгоритмы в языке
Python 3 ................................................................................................................................... 20
УРОК 4 Алгоритмическая структура ветвление в Python .......................................... 21
Задание 4-1. Корни квадратного уравнения ............................................................................................ 25
Задание 4-2. В зависимости от введенного числа строит круг треугольник или
квадрат ........................................................................................................................................................... 26
Задание 4-3 В зависимости от введенного числа ПОЖЕЛАНИЕ ....................................................... 26
Задание 4-4 Вычислить площади фигур в зависимости от номера выбранной фигуры ............... 27
Задание 4 Пинкод карты в кинотеатре ............................................................................ 28
Задание 5 Логин и пароль карты ...................................................................................... 28
Задание 6 Бронирование билета ........................................................................................ 28
УРОК 4 Строки в Python ................................................................................................... 29
Задание 1. Присвоить Отдельно переменным фамилия имя и отчество и склеить
ФИО................................................................................................................................................................. 29
Задание 2. По введенным фамилии имени и отчеству вывести фамилию и инициалы
с точками. ....................................................................................................................................................... 29
УРОК 5 Массивы, списки, кортежи и словари в Python............................................. 29
from random import randint ........................................................................................................................ 35
A=25*[0] .......................................................................................................................................................... 35
K=0 ................................................................................................................................................................... 35
for i in range(len(A)): ..................................................................................................................................... 35
A[i]=randint(1,5) ............................................................................................................................................. 35
if A[i]>3:K+=1 ................................................................................................................................................. 35
print(A) ............................................................................................................................................................ 35
print("K=",K) ................................................................................................................................................. 35
Списки ............................................................................................................................................................ 29
Таблица "методы списков" ........................................................................................................................ 29
ГОРОД .................................................................................................................................... 34
Решение .......................................................................................................................................................... 35
Практическая работа №4 к уроку 4 Массивы ............................................................... 35
Задание 1 Таблица умножения ................................................................................................................... 35
УРОК 5 Методы сортировки переменных ...................................................................... 36
Практическая работа №5 к уроку 5 Методы сортировки переменных .................... 36
Практическая работа 6 к уроку 6 Функции и процедуры в Python ........................... 37
Задание 1. Правильный треугольник ....................................................................................................... 41
Задание 2. Квадрат ....................................................................................................................................... 41
Задание 3. Цветок из окружностей ............................................................................................................ 41
Задание 4. Домик разноцветный ............................................................................................................... 42
Красный прямоугольник зеленый круг .......................................................................... 52
УРОК 6 Циклы с параметром и циклы с предусловием .............................................. 57
Задание 5 Написать программу, которая рисует множество отрезков с
поворотом и увеличением размера отрезка в цикле ..................................................... 60
Практическая работа №7 к уроку 7 Вложенные циклы .............................................. 62
4
https://pythontutor.ru/lessons/while/ .................................................................................... 62
УРОК 8 Тексты и надписи в в Python .............................................................................. 62
УРОК 9 Модуль random и его применение в Python .................................................... 63
Задание 1 Случайные круги ....................................................................................................................... 63
import turtle .................................................................................................................................................... 63
t = turtle.Turtle() ............................................................................................................................................ 63
t.shape('turtle') ................................................................................................................................................ 63
turtle.write("Ваша фамилия", font=('arial',16,)) ...................................................................................... 63
colors=['red','green','blue','orange'] ............................................................................................................. 63
import random ................................................................................................................................................ 63
t.up() ................................................................................................................................................................. 63
t.goto(random.randint(-100,100), random.randint(-100,100)) ................................................................... 63
t.down() ............................................................................................................................................................ 63
t.color(random.choice (colors)) ..................................................................................................................... 63
t.circle(20) ........................................................................................................................................................ 63
t.screen.exitonclick() ....................................................................................................................................... 63
t.screen.mainloop() ......................................................................................................................................... 63
Задание Случайные треугольники в цикле ............................................................................................ 65
Практическая работа Задание Движение по окружности будильник тайм
время ....................................................................................................................................... 68
ОЧИСТКА ЭКРАНА TURTLE.CLEAR() ................................................................................................ 69
Задание Стрелка часов со стиранием ....................................................................................................... 69
Задание ПОДПРОГРАММЫ ДОРОГА ........................................................................... 71
Задание ПРИМЕР СТРЕЛКА ЧАСОВ с Очисткой экрана .................................................................. 73
Практическая работа №8 к уроку 8 Имитация движения графических
объектов по прямой ............................................................................................................. 75
Практическая работа №10 к уроку 10 Процедуры и подпрограммы ........................ 75
Практическая работа №11 к уроку 11 Построение графиков функций ................... 75
Практическая работа №12 к уроку 12 Имитация движения графических
объектов по окружности ..................................................................................................... 75
Практическая работа №13 к уроку 13 Имитация движения графических
объектов по дуге и сложным траекториям ..................................................................... 75
Практическая работа №14 к уроку 14 События модуля GraphABC.
Управление графическими объектами с помощью клавиш и мыши ....................... 76
Практическая работа №15 к уроку 15 Звуковое сопровождение программ ............ 76
ЧАСТЬ 2 МОДУЛЬ ТКИНТЕР, Объектно-ориентированное
программирование ............................................................................................................... 78
Python - Программирование GUI (Tkinter) ..................................................................... 80
Tkinter Программирование ........................................................................................................................ 80
пример ............................................................................................................................................................. 80
Ткинтер Виджеты ......................................................................................................................................... 81
Стандартные атрибуты ............................................................................................................................... 82
Управление геометрией .............................................................................................................................. 82
Программирование событий в Tkinter. Урок 8 ............................................................. 88
МЕНЮ ТКИНТЕР ................................................................................................................ 88
Radiobutton и Checkbutton. Переменные Tkinter .......................................................... 90
Radiobutton – радиокнопка ......................................................................................................................... 90
Checkbutton – флажок .................................................................................................................................. 94
5
Практическая работа ................................................................................................................................... 96
Создание простого GUI приложения на Tkinter ................................................................................... 100
1) КНОПКИ ООП ............................................................................................................... 100
РАДИОБАТТОНЫ ЦВЕТНЫЕ ....................................................................................... 101
Обработка нажатия на кнопку .......................................................................................... 103
Описание программы ................................................................................................................................ 105
Подключение библиотек и объявление переменных .......................................................................... 106
ТРИ КНОПКИ .................................................................................................................... 111
Задание 1 Площадь прямоугольника ..................................................................................................... 111
Задание 2. Считать из ENTRY два числа и сложить их ...................................................................... 112
2. Метод размещения Grid ................................................................................................ 125 3. Перепишем нашу программу с использованием Grid:............................................... 125 4. Напишем функцию обработчик нажатия кнопки: ...................................................... 126 5. Привяжем нажатие кнопки с функцией (добавьте команду для кнопки): ............... 126
Задание 1: ........................................................................................................................... 126
Задание 2: ........................................................................................................................... 126
Модуль tkinter. Урок №2 — Виджеты и их свойства .......................................................................... 127
1. Объект переключатель (радиокнопка) ........................................................................ 127 2. Флажок............................................................................................................................ 128 3. Метки .............................................................................................................................. 128 4. Текстовое поле ввода .................................................................................................... 128 5. Списки ............................................................................................................................ 128
Задание 1............................................................................................................................. 129
Задание 2............................................................................................................................. 129
УРОК 5. Canvas. Идентификаторы, теги и анимация ................................................ 129
Идентификаторы ........................................................................................................................................ 131
Пример 1. Шарик двигают стрелки Canvas .......................................................................................... 131
Пример 2 Теги изменяют цвет фигур разом ................................................................. 132
Пример 3 Набираем очки при попадании в фигуру.................................................... 132
Практическая работа. Анимация в tkinter ............................................................................................ 133
Пример 4. Движется круг слева направо до упора ...................................................... 134
Практическая работа ................................................................................................................................. 137
ЧАСТЬ 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
c
b
a
p
Площадь
c
p
b
p
a
p
p
S
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('Ваша ФАМИЛИЯ')
1 2 3 4 5 6 7 8 9 10
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
c
b
a
p
Площадь
c
p
b
p
a
p
p
S
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('Ваша ФАМИЛИЯ')
1 2 3 4 5 6 7 8 9 10
Пример 6. Объем прямоугольного параллелепипеда
Составить программу для вычисления и вывода объема прямоугольного параллелепипеда по трем сторонам, значения длин сторон пользователь вводит с клавиатуры
Таблица 6
Формулы и чертеж
Программа
Формулы:
Объем прямоугольного параллелепипеда
c
b
a
V
import math print('введите стороны прямоугольного параллелепипеда') a = int(input('a=')) b = int(input('b=')) c = int(input('c=')) v = a*b*c print('v=',v) print('Ваша ФАМИЛИЯ')
18
Пример 7. Объем конуса
Составить программу для вычисления и вывода объема конуса по радиусу основания и высоте, значения длин которых пользователь вводит с клавиатуры
План действий в программе
1) Подключить математический модуль
2) Запросить у пользователя значение радиуса R=
3) Запросить у пользователя значение высоты h=
4) Вычислить объем по формуле V=(1/3)*3.14*R*R*h
5) напечатать сообщение 'Объем конуса V=' и указать значение
Таблица 7
Программа
Результат import math print('введите радиус основания конуса R=')
R = int(input('R=')) print('введите высоту конуса h=') h = int(input('h='))
V =(1/3)*3.14*R*R*h print('Объем конуса V=',V) print('Ваша ФАМИЛИЯ')
Пример 8. Площадь полной поверхности прямоугольного параллелепипеда
Составить программу для вычисления и вывода площади полной поверхности прямоугольного параллелепипеда по трем сторонам, значения длин сторон пользователь вводит с клавиатуры.
Таблица 8
Программа+ Результат import math print('введите стороны прямоугольного параллелепипеда') a = int(input('a=')) b = int(input('b=')) c = int(input('c=')) s = 2*(a*b+a*c+b*c) print('s=',s)
19 print('Ваша ФАМИЛИЯ')
Пример 9. Диагональ прямоугольного параллелепипеда
Составить программу для вычисления и вывода диагонали прямоугольного параллелепипеда по трем сторонам, значения длин сторон пользователь вводит с клавиатуры
Программа+ Результат import math print('введите стороны прямоугольного параллелепипеда') a = int(input('a=')) b = int(input('b=')) c = int(input('c=')) d = math.sqrt(a*a+b*b+c*c) print('d=',d) print('Ваша ФАМИЛИЯ')
Домашнее задание
Задание ДЗ 1. Составить программу для вычисления и вывода площади прямоугольника по двум сторонам, значения длин сторон пользователь вводит с клавиатуры.
Программа
Результат
Практическая работа №2 к уроку 2 Вычислительная геометрия Python
1. Построение прямой по двум точкам;
2. Построение точки пересечения двух прямых;
3. Построение прямой, перпендикулярной (параллельной) данной, и проходящей через заданную точку;
4. Проверка принадлежности точки отрезку;
5. Проверка принадлежности точки многоугольнику;
6. Вычисление площади треугольника;
7. Вычисление площади многоугольника;
8. Построение выпуклой оболочки;
9. Вычисление угла между векторами;
10. Вычисление скалярного, векторного и смешанного произведений;
11. Сложение и вычитание векторов, умножение вектора на число;
12. Вычисление полярного угла точки;
13. Построение точек пересечения двух окружностей.