Page 188 - Em Học Python
P. 188
VẼ NGÔI SAO CÓ MÀU
Ở ví dụ cuối cùng này, ta sẽ tô màu cho ngôi sao đã vẽ lúc trước. Code ban đầu trông
như thế này:
for x in range(1, 19):
t.forward(100)
if x % 2 == 0:
t.left(175)
else:
t.left(225)
Giờ ta sẽ viết hàm mystar. Ta cũng sẽ dùng lệnh if từ hàm mysquare và thêm tham
số size vào.
>>> def mystar(size, filled):
if filled == True:
t.begin_fill()
for x in range(1, 19):
t.forward(size)
if x % 2 == 0:
t.left(175)
else:
t.left(225)
if filled == True:
t.end_fill()
Ở hai dòng đầu tiên của hàm, ta kiểm tra xem filled có phải là True không, nếu
đúng ta sẽ bắt đầu đổ màu. Ta kiểm tra thêm một lần nữa ở hai dòng cuối, và nếu filled là
True ta sẽ dừng đổ màu. Đồng thời, cũng như với hàm mysquare, ta thêm kích thước vào
cho ngôi sao với tham số size và dùng giá trị đó khi gọi t.forward.
Giờ tô màu vàng (90 phần trăm đỏ, 75 phần trăm xanh lá và 0 phần trăm xanh
dương) rồi gọi hàm lại.
>>> t.color(0.9, 0.75, 0)
>>> mystar(120, True)
162 Chương 11