Раздел «Язык Си».PythonTurtleBeginVariableEng:

Английские слова

Английский Русский
width ширина အနံ (အနံ)
height высота အလ်ား (အလျား)
top верх ထိပ္ (ထိပ်)
bottom низ ​ေအာက္ ( ​အောက်)
point место, точка အမွတ္ (အမှတ်)
write писать ​ ​ေရးသည္ (ရေးသည်)
angle угол ​ေတာင္႔ (တောင့်)
star звезда ၾကယ္(ကယ်)
     
     

Переменные (variables)

Где я? (функции черепахи)

Черепаха двигается в ХУ плоскости. Оси Х и У не рисуются.

Можно узнать x или y координаты и запомнить их в переменные. Можно придумать имя переменной.

x и у отдельно

x = t.xcor()    # функция xcor черепахи отдает х координату где стоит черепаха, запомнили число в переменную х
y = t.ycor()    # функция xcor черепахи отдает y координату где стоит черепаха, запомнили число в переменную y

t.goto(x,y)     # черепахе перейти в точку с координатами (x,y)

Место где стоит черепаха. Назвала переменные x и y (я придумала имя. Могу придумать другое. Например, xstart).

xcor() и уcor() - функции черепахи. Их уже написали и назвать по-другому я не могу.

точка - координаты х и у вместе

Можно узнать где стоит черепаха (точка). У точки две координаты (x, y). Запомним точку в переменную p.

p = t.position()  # место, где стоит черепаха запомнили в переменную p
p = t.pos()       # место, где стоит черепаха запомнили в переменную p (короткое имя функции)

t.goto(p)         # черепахе перейти в точку p

Запомнить

Черепаха стоит в точке поля. Она должна нарисовать две линии и вернуться в эту точку.

Нужно запомнить место, где стояла черепаха. Для этого есть переменные.

# -*- coding: utf-8 -*-

import turtle           
import time

# напишем функцию write, которая пишет нужными буквами
def write(data):
    t.write(data, font=("Arial", 14, "normal"))

# укажем длину линии для функции
def line2(size):
    t.color("blue")

    xy = t.position() # запомним где черепаха, короткое имя t.pos()
                      # xy - это переменная
                      # xy - имя переменной
                      # эта переменная запомнила где черепаха
       

    t.fd(size)        # size - длина линии
                      # эту длину мы сказали функции
                      # size - тоже переменная
                      # size - это имя переменной
    

                      # В этой функции ДВЕ переменные - xy и size
    time.sleep(1)

    t.color("red")
    t.fd(size)
    t.up()
    
    t.goto(xy)        # xy помнит где стояла черепаха.
                      # Поставим ее на это место
    
    write(xy)         # напишем координаты

    time.sleep(1)
  

t = turtle.Turtle()
t.shape("turtle")
t.width(3)

t.goto(-200,0)
line2(100)

turtle.done()

Задача 1 - запомнить цвет

Функция t.position() возвращает место (x и у).
Функция t.goto(место) изменяет место (x и у).

Функция t.pencolor() без параметров возвращает цвет.
Функция t.pencolor("black") изменяет цвет линии на черный.

Функция write не меняет цвет. Каким цветом рисуем линии, таким цветом пишем текст.

IDEA! Изменить можно только функцию write. Другие места менять нельзя.

# -*- coding: utf-8 -*-

import turtle           
import time

# напишем функцию write, которая пишет черными буквами
def write(data):
    # запомним цвет, которым рисовали в переменную oldcol (старый цвет)
    # тут нужно написать код
    
    t.pencolor("black")
    t.write(data, font=("Arial", 14, "normal"))
    
    # цвет - каким рисовали раньше
    # тут нужно написать код

# укажем длину линии для функции
def line2(size, col1, col2):
    t.color(col1)
    t.down()

    xy = t.position() # запомним где черепаха, короткое имя t.pos()
                      # xy - это переменная
                      # xy - имя переменной
                      # эта переменная запомнила где черепаха
       

    t.fd(size)        # size - длина линии
                      # эту длину мы сказали функции
                      # size - тоже переменная
                      # size - это имя переменной
    

                      # В этой функции ДВЕ переменные - xy и size
    time.sleep(1)

    t.color(col2)
    t.fd(size)
    t.up()
    
    t.goto(xy)        # xy помнит где стояла черепаха.
                      # Поставим ее на это место
    
    write(xy)         # напишем координаты
    time.sleep(1)
    

t = turtle.Turtle()
t.shape("turtle")
t.width(3)

t.goto(-200, 0)       
line2(100, "blue", "red")            

t.goto(-200, 50)
line2(100, "darkgreen", "gold")

turtle.done()

Изменяем ЗНАЧЕНИЯ переменных

xy, size, oldcol - это ИМЕНА переменных.

Координаты черепахи (-200, 0), длина линии (число 100) и старый цвет ("red") - это ЗНАЧЕНИЯ.

ЗНАЧЕНИЯ можно вычислять и изменять.

Нарисуем горизонтальную линию. Укажем координаты X. Y будет 0.

Найдем середину линии, напишем координаты середины. Подвинем черепаху в середину и напечатаем чему равна половина длины. Затем вернем черепаху на место

# -*- coding: utf-8 -*-

import turtle           
import time

def write(data):
    t.write(data, font=("Arial", 14, "normal"))

def midline(x1,x2):

    start = t.position()  # запомним в start место черепахи
    t.color("darkgreen")
    t.up()
                          # поставим черепаху в нужное место
                          # x1, x2 - тоже переменные
                          # они помнят координаты 
    t.goto(x1, 0)
                          # нарисуем линию между x1 и x2
    t.down()
    t.goto(x2, 0)
    time.sleep(1)
                          
    mid = (x2 - x1) / 2   # ВЫЧИСЛИМ середину mid (координату x)
                          # нарисуем половину линии (отрезка)
    t.pencolor("gold")    # другим цветом
    
    #x1 = (x2+x1)/2        # изменим ЗНАЧЕНИЕ x1 на координату середины
    x1 = x2 - mid         # изменим ЗНАЧЕНИЕ x1 на координату середины
   
    t.goto(x1, 0)         # переместим черепаху и нарисуем линию
    write(mid)            # напечатаем ЗНАЧЕНИЕ mid
    t.up()                # вернем черепаху на место start (где была)
    t.goto(start)

t = turtle.Turtle()
t.shape("turtle")
t.width(3)

midline(-200, 300)            

turtle.done()

Задача 2 - прямоугольник

Черепаха стоит в центре будущего прямоугольника.
Задать ширину и высоту прямоугольника (w, h).

Решить задачу ИЛИ через точки ИЛИ через х и у.

через точки (переместиться и запомнить)

IDEA! t.pos() возвращает место черепахи, точку (x,y).

через х и у (вычислить координаты)

IDEA! t.xcor() и t.ycor() возвращают х и у координату черепахи.

Задача 3 - узор часть

Решить задачу ИЛИ через точки ИЛИ через х и у.

Черепаха должна нарисовать узор:

через точки (переместиться и запомнить)

через х и у (вычислить координаты)

Задача 4 - узор ковер

Решить задачу ИЛИ через точки ИЛИ через х и у.

Черепаха должна нарисовать узор:

Черепаха стоит в центре. Напишите функцию rectuzor(w, h, dh).

через точки (переместиться и запомнить)

через х и у (вычислить координаты)

Задача 5 - звезда

Решить задачу ИЛИ через точки ИЛИ через х и у.

Черепаха должна нарисовать звезду.

через точки (переместиться и запомнить)

Черепаха стоит на одной из вершин звезды. Угол пятиугольника, в который вписана звезда, 108o

через х и у (вычислить координаты)

Черепаха стоит в центре звезды.

Изменение переменных

Пример 1 - ang

ЗНАЧЕНИЕ переменной можно изменить.

Например:

ang = t.heading()    # в переменную ang запомнили угол черепахи
ang = 270            # изменяем ЗНАЧЕНИЕ переменной. ang стал 270. Положение черепахи НЕ изменилось.

ang = t.heading() + 90    # или изменяем по-другому
                          # или так:
ang += 90                 # "старое" значение переменной ang увеличили на 90

ang -= 30                 # "старое" значение переменной ang уменьшили на 30

ang *= 3                  # "старое" значение переменной ang увеличили в 3 раза

ang /= 4                  # "старое" значение переменной ang уменьшили в 4 раза

Пример 2 - линии изменяют длину

Нарисуем:

# -*- coding: utf-8 -*-

import turtle           
import time

def write(data):
    t.write(data, font=("Arial", 14, "normal"))

def lines(size):
    t.down()

    t.color("blue")
    write(size)           # пиши размер синей линии
    t.fd(size)
    
    size += 50            # увеличили size НА 50 
    
    t.color("darkgreen")
    write(size)           # пиши размер зеленой линии
    t.fd(size)
    
    size += 50            # увеличили size еще НА 50 
    
    t.color("red")
    write(size)           # пиши размер красной линии
    t.fd(size)

    size += 50            # увеличили size еще НА 50 
    
    t.color("gold")
    write(size)           # пиши размер желтой линии
    t.fd(size)
    
    t.up()
                          # увеличим координату y на size/5
    x = t.xcor()          # запомнили х
    y = t.ycor() + size/5 # вычислили и запомнили y
    t.goto(x,y)           # изменим место и поворот черепахи
    t.left(180)
    
    t.down()
    
    t.color("gold")
    write(size)           # пиши размер желтой линии
    t.fd(size)

    size -= 50            # уменьшили size НА 50 
    
    t.color("red")
    write(size)           # пиши размер красной линии
    t.fd(size)

    size -= 50            # уменьшили size еще НА 50 
    
    t.color("darkgreen")
    write(size)           # пиши размер зеленой линии
    t.fd(size)

    size -= 50            # уменьшили size еще НА 50 
    
    t.color("blue")
    write(size)           # пиши размер синей линии
    t.fd(size)


t = turtle.Turtle()
t.shape("turtle")
t.width(3)

t.up()
t.goto(-300, 0)

lines(100)

turtle.done()

Пример 3 - линии изменяют длину на d

Нарисуем:

# -*- coding: utf-8 -*-

import turtle           
import time

def write(data):
    t.write(data, font=("Arial", 14, "normal"))

# size - длина первой линии    
# d - на сколько будем изменять size
def lines(size, d):
    t.down()

    t.color("blue")
    write(size)           # пиши размер синей линии
    t.fd(size)
    
    size += d             # увеличили size НА d 
    
    t.color("darkgreen")
    write(size)           # пиши размер зеленой линии
    t.fd(size)
    
    size += d             # увеличили size еще НА d 
    
    t.color("red")
    write(size)           # пиши размер красной линии
    t.fd(size)

    size += d             # увеличили size еще НА d 
    
    t.color("gold")
    write(size)           # пиши размер желтой линии
    t.fd(size)
    

t = turtle.Turtle()
t.shape("turtle")
t.width(3)

t.up()
t.goto(-300, 0)

p = t.pos()
lines(80, 40)   # size будет 80, d будет 40
                # длина линии будет увеличиваться
t.up()                
t.goto(p)       # встанем на 50 выше
t.seth(90)
t.fd(50)
t.seth(0)
                
lines(200, -40) # size будет 200, d будет -40
                # длина линии будет уменьшаться
                
turtle.done()

Задача 6 - спираль

Написать функцию spi(size, d)
Получить похожую картинку.
Цифры могут быть другие.

Задача 7 - солнце

Нарисовать солнце.

Написать функцию sun(r, size, angle, col).
r - радиус круга солнца
size - длина луча
angle - на сколько повернуть первый луч
col - цвет луча.

Написать вторую функцию sun2(r, size) которая использует sun(r, size, angle, col)

Получить картинку:

Задача 8 - 3 квадрата

Написать функцию sq(size, ang, col1, col2), где
size - размер стороны квадрата
ang - угол поворота квадрата
col1 - цвет линии
col2 - цвет внутри.

Написать функцию sq3(size, ang) которая рисует 3 квадрата один в другом.

Задача 9 - спираль вверх

Написать функцию spi(size, d, ang)
Написать функцию для рисования картинки:

Задача 10 - спираль 2

Написать функцию для рисования двух спиралей:

Задача 11 - спираль узор

Написать функцию для рисования узора:

Использовать функции для задач 6, 7, 8.

Автор: Овсянникова Т.В.
Редактор: Дербышева Т.Н.

Attachment sort Action Size Date Who Comment
var_1t.png manage 1.4 K 21 Mar 2017 - 20:30 TatyanaDerbysheva  
uzor_v1en.png manage 5.4 K 21 Mar 2017 - 22:34 TatyanaDerbysheva  
trk.png manage 1.4 K 22 Mar 2017 - 23:28 TatyanaDerbysheva  
uzor_rect.png manage 8.8 K 21 Mar 2017 - 23:48 TatyanaDerbysheva  
lined.png manage 2.5 K 22 Mar 2017 - 22:54 TatyanaDerbysheva