講義資料
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一覧