Хорошо. Экспериментируя в прошлом уроке, нам приходилось редактировать код в нескольких местах, чтобы изменить размеры наших геометрических фигур. Но представь, что будет, если мы захотим изменить размер квадрата не один раз, не говоря уже о прямоугольниках! Есть способ получше.
Это переменные. Можно сообщить Python’у, что отныне при обращении к переменной имеется в виду что-то другое. Это похоже на символическую математику, где можно написать: Пусть x равняется 5. Тогда. очевидно, x * 2 будет равняться 10.
С помощью Python’а сиё можно записать так:
x = 5
После этого, если ты выполнишь print(x)
, будет выведено значение переменной — 5. x можно задействовать и в обращении к черепашке:
turtle.forward(x)
Переменные могут быть чем угодно, не только числами. Типичной вещью, хранящейся в переменной, является строка - строка текста. Строки можно распознать по двойным кавычкам, с которых они начинаются и которыми они заканчиваются. Позже ты узнаешь больше об этом и других типах данных, их применении, и о том, как они называются в Python.
Ты можешь использовать переменную даже для того, чтобы дать черепашке имя:
timmy = turtle
Теперь, когда ты вводишь timmy
, это будет означать turtle
. Но ты всё ещё можешь продолжать использовать и непосредственно turtle
:
timmy.forward(50)
timmy.left(90)
turtle.forward(50)
Как мы можем ускорить работу с нашей программой для рисования накренившихся квадратов, имея переменную angle
?
angle = 20
turtle.left(angle)
turtle.forward(50)
turtle.left(90)
turtle.forward(50)
turtle.left(90)
turtle.forward(50)
turtle.left(90)
turtle.forward(50)
turtle.left(90)
turtle.left(angle)
... и так далее.
Можешь ли ты проделать то же самое с размером квадрата?
Нарисуй домик.
You can calculate the length of the diagonal line with the Pythagorean
theorem. That value is a good candidate to store in a variable. To calculate
the square root of a number in Python, you’ll need to import the math module
and use the math.sqrt()
function. The square of a number is calculated
with the **
operator:
import math
c = math.sqrt(a**2 + b**2)