Основи Python #2

1. Команди Черепашки обмежені тим, що заклали в неї творці. Але як бути, якщо нам потрібно намалювати багато прямокутників? 
Давайте створимо нову команду, яку назвемо sq (від слова square - квадрат):


from turtle import *
def sq():

    fd(100)
    rt(90)

    fd(100)
    rt(90)

    fd(100)
    rt(90)

    fd(100)
done()


Що сталося після запуску даної програми? Підказка: «нічого» - неправильна відповідь 😜 
Правильна відповідь має звучати так: 
  • програма запустилася без помилок, 
  • показала вікно з Черепашкою, 
  • нічого не намалювала.
Слова словами, але ж нічого не намальовано! І це правильно, адже команди малювати не було, а було пояснення нової команди "sq". 
Щоб скористатися цією командою потрібно написати sq (). 

Зверніть увагу на дужки: без дужок програма запуститься і не покаже помилок, однак намальовано нічого не буде. 

Насправді def - це створення функції (інші назви: підпрограма, допоміжний алгоритм, процедура).

Давайте перепишемо наш код просто додамо в кінці sq():

from turtle import *
def sq():

    fd(100)
    rt(90)

    fd(100)
    rt(90)

    fd(100)
    rt(90)

    fd(100)
sq()

done()

2. Тепер давайте намалюємо два прямокутника поруч, на відстані 50 пікселів.

from turtle import *
def sq():

    down()
    fd(100)

    rt(90)
    fd(100)

    rt(90)
    fd(100)

    rt(90)
    fd(100)

    up()
sq()

fd(50)
sq()

done()

Для краси додамо заливку кольором:

from turtle import *
def sq():

    color('red','yellow')
    begin_fill()

    down()
    fd(100)

    rt(90)
    fd(100)

    rt(90)
    fd(100)

    rt(90)
    fd(100)

    up()
    end_fill()

sq()
fd(50)

sq()
done()

_____________________________________________

Задачі


1. Намалювати 4 квадрата (80х80) в лінію по горизонталі, з відстанню між квадратами, рівним 20.

2. Створити команду «Прямокутник» (rect).

3. Намалювати 6 прямокутників 80х60 в два ряди.

4. Створити команду «Трикутник» (рівносторонній).

5. Намалювати квадрат 50х50, 30х30, 90х90, 10х10, 40х40

6. Намалювати шахову дошку 8х8.












Немає коментарів:

Дописати коментар