Язык Python. Первое знакомство. Часть 2.

Факультативы
Python — современный универсальный интерпретируемый язык программирования. Его достоинства: 1. Кроссплатформенность и бесплатность. 2. Простой синтаксис и богатые возможности позволяют записывать программы очень кратко, но в то же время понятно. 3. По простоте освоения язык сравним с бейсиком, но куда более богат возможностями и значительно более современен. 4. Богатая стандартная библиотека, возможность разработки промышленных приложений (для работы с сетью, GUI, базами данных и т.д.) Большинство школьных олимпиад по информатике поддерживают язык Python. C 2015 года в текстах задач ЕГЭ примеры приводятся также и на языке Python. Практика показывает, что задания ЕГЭ по информатике, в которых требуется написать программу, существенно проще решать с использованием языка Python, чем классических языков Бейсик, Паскаль, C/C++.
Шкурин Дмитрий Николаевич
Содержимое публикации

Графический модуль turtle

Модуль turtle позволяет рисовать как простейшие графические примитивы, так и более сложные, например, фрактальные узоры. Его интерфейс подразумевает управление так называемой черепашкой — объектом, который перемещается по экрану, оставляя или не оставляя за собой след с указанными параметрами.

Существует два способа использования модуля turtle:

ПРОСТОЙ МЕТОД (БЕЗ СОЗДАНИЯ ОБЪЕКТОВ)

Для этого нам нужно заимпортировать все методы из модуля turtle командой

from turtle import *

После этого можно управлять черепашкой с помощью этих команд.

Список простейших команд:

метод

пример использования

описание

forward

fd

forward(10)

переместить черепашку вперед на указанное количество пикселей

backward

back

bk

back(20)

переместить черепашку назад на указанное количество пикселей

right

rt

right(45)

повернуть черепашку вправо на указанное количество градусов

left

lt

left(90)

повернуть черепашку влево на указанное количество градусов

penup

pu

up

penup()

поднять перо: после этого черепашка не будет оставлять след

pendown

down

pd

down()

опустить перо

color

color('yellow')

изменить цвет следа

width

pensize

width(5)

изменить ширину следа

 Полный список команд можно найти по ссылке.

Примеры:

РАВНОСТОРОННИЙ ТРЕУГОЛЬНИК

for i in range(3):
  fd(100)
  left(120)

Если добавить две строки, можно нарисовать синий треугольник толстыми линиями:

color('blue')
width(5)
for i in range(3):
  fd(100)
  left(120)

ОКРУЖНОСТЬ

for i in range(360):
  fd(1) 
  rt(1)

 

БОЛЕЕ СЛОЖНЫЙ МЕТОД (С ИСПОЛЬЗОВАНИЕМ ОБЪЕКТОВ И МЕТОДОВ )

Для использования черепашки требуется, во-первых, подключить модуль turtle:

import turtle

После этого можно будет создать экран, на котором будет отображаться черепашка:

screen = turtle.Screen()

После этого можно создать саму черепашку, присвоив ей какое-нибудь имя:

t1 = turtle.Turtle()

Таким образом можно создать несколько черепашек на одном экране.

Получившимся объектом можно управлять, вызывая его методы. Список основных методов:

метод

пример использования

описание

forward

fd

t1.forward(10)

переместить черепашку вперед на указанное количество пикселей

backward

back

bk

t1.back(20)

переместить черепашку назад на указанное количество пикселей

right

rt

t1.right(45)

повернуть черепашку вправо на указанное количество градусов

left

lt

t1.left(90)

повернуть черепашку влево на указанное количество градусов

penup

pu

up

t1.penup()

поднять перо: после этого черепашка не будет оставлять след

pendown

down

pd

t1.down()

опустить перо

color

t1.color('yellow')

изменить цвет следа

width

pensize

t1.width(5)

изменить ширину следа

 

Полный список методов можно найти по ссылке.

Примеры

ОКРУЖНОСТЬ

for i in range(360):
  t1.fd(1)
  t1.rt(1)

Квадрат

for i in range(4):

  t1.fd(100)

  t1.left(90)

Если добавить две строки, можно нарисовать синий квадрат толстыми линиями:

t1.color('blue')
t1.width(5)
for i in range(4):
  t1.fd(100)
  t1.left(90) 

Задача 1. Что какого цвета?

С помощью черепашки (turtle) нарисовали такую картинку:

Установите соответствие между названиями цветов и фигурами, для которых их использовали.

Начало формы

дом

окно

крыша

thistle

peru

maroon

Решение задачи

Дом — цвет thistle, окно — peru, крыша — maroon.

Нарисовать подобную картинку можно, например, с помощью такого кода:

 

from turtle import *

pendown()
color('thistle')
begin_fill()
for i in range(4):
    forward(100)
    left(90)
end_fill()    
penup()   
goto(25,25)
color('peru')
begin_fill()
for i in range(4):
    forward(50)
    left(90)
end_fill()    
penup()
goto(0,100)
color('maroon')
begin_fill()
left(45)
goto(50,150)
goto(100,100)
goto(0,100)
end_fill()

 Задача 2. Угадай форму

С помощью инструкции turtle.shape() можно задавать вид черепашки. Для этого в круглых скобках пишут текстовую строку, например, turtle.shape("classic"). По умолчанию доступны шесть видов черепашки: “arrow”, “turtle”, “circle”, “triangle”, “classic” и …. В ответе укажите (без кавычек), какой вид черепашки мы пропустили.

Подсказка 1 из 1

Посмотрите ссылку в теоретическом материале к этому занятию или воспользуйтесь поиском в интернете.

Правильный ответ: square

Задача 3. Модуль turtle -- движение вперед

Какие из перечисленных методов двигают черепашку вперед?

Начало формы

forward

color

rt

width

left

fd

Подсказка 1 из 2

Попробуйте перевести названия методов с английского на русский.

Подсказка 2 из 2

Внимательно изучите теоретический материал по теме "Графический модуль turtle"

Решение задачи

Методы forward и его сокращение fd передвигают черепашку вперед на указанное количество пикселей.


Задача 4. Модуль turtle -- сопоставьте методы

Сопоставьте название метода с его описанием

Начало формы

circle(radius)

shape(name)

stamp()

Конецформы

Подсказка 1 из 2

Переведите название методов с английского

Подсказка 2 из 2

Изучите описание методов по ссылке

Решение задачи

circle(radius) — Рисует окружность заданного радиуса

shape(name) — Изменяет отображаемую фоорму черепашки

stamp() — Оставляет след в виде текущей формы черепашки на том месте, где стоит черепашка

Задача 5. Угадай фигуру

Что нарисует такая программа:

from turtle import *
for i in range(6):
    forward(100)
    left(60)

Подсказка 1 из 1

Запустите программу и посмотрите, что получится.

Прямоугольник

Какие числа нужно записать вместо ? и ??, чтобы программа нарисовала прямоугольник из трех строк и двух столбцов?

 

from turtle import *
def square(x = 0, y = 0, a = 100):
    penup()
    goto(x, y)
    setheading(0)
    pendown()
    for i in range(4):
        forward(a)
        left(90)

for i in range(?):
    for j in range(??):
        square(x = 5*i, y = 5*j, a = 5)

 

Подсказка 1 из 1

Поэкспериментируйте с программой, подставляя вместо ? и ?? различные числа.

Решение задачи

В строке 

square(x = 5*i, y = 5*j, a = 5)

значение переменной x меняется столько раз, сколько меняется i, то есть, если мы хотим прямоугольник из двух столбцов, то i должен меняться дважды. Аналогично, j должен меняться трижды. Поэтому вместо ? нужно записать 2, а вместо ?? нужно записать 3.

Что получится?

Установите соответствие между программами и тем, что они нарисуют.

Программа 1.

from turtle import *

def square(x = 0, y = 0, a = 100):
    penup()
    goto(x, y)
    setheading(0)
    pendown()
    for i in range(4):
        forward(a)
        left(90)

for t in range(5):
    square(x = 30 * t, a = 30)

Программа 2.

from turtle import *

def square(x = 0, y = 0, a = 100):
    penup()
    goto(x, y)
    setheading(0)
    pendown()
    for i in range(4):
        forward(a)
        left(90)

for t in range(5):
    square(y = 30 * t, a = 30)

Программа 3.

from turtle import *

def square(x = 0, y = 0, a = 100):
    penup()
    goto(x, y)
    setheading(0)
    pendown()
    for i in range(4):
        forward(a)
        left(90)

for t in range(5):
    square(x = 30 * t, y = 30 * t, a = 30)

Подсказка 1 из 1

Запустите код и посмотрите, что он нарисует.

Решение задачи

Если в цикле меняется значение x-координаты, то получится горизонтальная полоска, если меняется значение y-координаты, то вертикальная, а если меняются обе координаты, то диагональная.

Модуль turtle -- результат

Что будет изображено на экране после выполнения такого фрагмента кода: 

from turtle import *
color("red")

for i in range(4):
    penup()
    fd(100)
    pendown()
    right(90)

Решение задачи

Поскольку на каждой итерации цикла перед продвижением вперед мы поднимаем перо черепахи, она не оставит никаких следов на экране. Таким образом после выполнения этой программы на экране ничего не будет изображено

Угадай цвет

Команда turtle.color() принимает в качестве аргумента текстовую строку с названием цвета, например, color('red'), или текстовую строку с цветом в системе RGB, например, color('#00FF00').

Установите соответствие между цветами и их названием.

red

green

blue

black

white

yellow

aqua

fuchsia

#FF0000

#00FF00

#0000FF

#000000

#FFFFFF

#FFFF00

#00FFFF

#FF00FF

Подсказка 1 из 1

Воспользуйтесь поиском в интернете.

tkinter и ОС

Графическая библиотека tkinter позволяет создавать программы с оконным интерфейсом в операционных системах:

Начало формы

Mac OS X

Windows

Linux

Комментировать
Свидетельство участника экспертной комиссии
Оставляйте комментарии к работам коллег и получите документ бесплатно!
Подробнее
Также Вас может заинтересовать
Информатика
Конспект занятия по информатики для 11 класса «Реклама в СМИ.»
Информатика
Презентации по информатики для «Обзор современных компьютеров»
Информатика
Комментарии
Добавить
публикацию
После добавления публикации на сайт, в личном кабинете вы сможете скачать бесплатно свидетельство и справку о публикации в СМИ.
Cвидетельство о публикации сразу
Получите свидетельство бесплатно сразу после добавления публикации.
Подробнее
Свидетельство за распространение педагогического опыта
Опубликует не менее 15 материалов и скачайте бесплатно.
Подробнее
Рецензия на методическую разработку
Опубликуйте материал и скачайте рецензию бесплатно.
Подробнее
Свидетельство участника экспертной комиссии
Стать экспертом и скачать свидетельство бесплатно.
Подробнее
Помощь