講義資料
https://drive.google.com/file/d/100luMWHmwBuHQ5gugEuWl01QMXshWsGI/view?usp=sharing
マニュアル
https://docs.python.org/ja/3/library/turtle.html
タートルの基本
from turtle import * #おまじない
reset() #画面をクリアして亀を原点に移動する
color('red', 'yellow') #線の色、塗りつぶしの色
width(5) #線の太さ
begin_fill() #塗りつぶし開始
circle(100) #半径100の円を描く
end_fill() #塗りつぶし終了
penup() #ペンを上げる
right(90) #右に90°方向転換
forward(100) #100進む
right(90)
forward(200)
left(180)
color('blue')
pendown() #ペンを下す
forward(400)
rangeを使った繰り返し
from turtle import *
colorlist=['green','yellow','red']
reset()
penup()
left(180)
forward(100)
left(180)
for i in range(3):
fillcolor(colorlist[i])
pendown()
begin_fill()
circle(50)
end_fill()
penup()
forward(100)
階段を描く
from turtle import *
reset()
penup()
right(90)
forward(200)
right(90)
forward(200)
right(180)
for i in range(20):
pendown()
forward(20)
left(90)
forward(20)
right(90)
ランダムの利用
from turtle import *
import random
reset()
for i in range(random.randrange(5,20)):
penup()
goto(random.randrange(-200, 200), random.randrange(-150, 150))
pendown()
circle(random.randrange(10, 100))
三角形を描く
from turtle import *
reset()
for i in range(3):
forward(100)
left(120)
5角形を描く
from turtle import *
reset()
for i in range(5):
forward(100)
left(72)
関数の利用(キャベツ)
from turtle import *
reset()
def kakkei(w, n): #1辺がwのn角形を描く
for i in range(n):
forward(w)
left(360/n)
penup()
right(90)
forward(100)
left(90)
pendown()
color('pale green') #黄緑
for i in range(3,20):
kakkei(50,i)
星を描く
from turtle import *
reset()
bgcolor('black') #背景色
color('white')
fillcolor('white')
begin_fill()
for i in range(5):
forward(50)
right(180 - 180/5)
end_fill()
星をランダムに描く
from turtle import *
import random
reset()
speed(100)
bgcolor('black') #背景色
color('white')
fillcolor('white')
def star(size, n): #指定した大きさのn芒星を描く
begin_fill()
for i in range(n):
forward(size)
right(180 - 180/n)
end_fill()
for i in range(random.randrange(30,50)):
penup()
goto(random.randrange(-200, 200), random.randrange(-150, 150))
pendown()
star(random.randrange(10, 50), random.randrange(5,15,2))
バウンドボール(whileとifの利用)
from turtle import *
import random
reset()
shape('circle') #タートルの形を丸にする
shapesize(3,3,1) #タートルを大きい丸にする
speed(0) #一瞬で角度を変えるようにする
takasa = window_height() #画面の高さ
haba = window_width() #画面の幅
penup() #線は描かない
left(random.randrange(0, 360)) #ランダムな角度でスタート
while True: #永遠に繰り返す
forward(3)
if abs(xcor()) >= haba / 2: #左右の壁にぶつかったとき
left((90 - heading()) * 2)
木を描く(再帰)
from turtle import *
reset()
def tree(length):
if length > 5:
forward(length)
right(20)
tree(length - 15)
left(40)
tree(length - 15)
right(20)
backward(length)
pensize(3)
color("green")
left(90)
backward(150)
tree(100)
コメント
最新を表示する
NG表示方式
NGID一覧