Page 204 - Em Học Python
P. 204
VẼ THẬT NHIỀU HÌNH HỘP
Nếu ta phủ kín bảng vẽ bằng các hình chữ nhật khác nhau thì sao nhỉ? Ta có thể
dùng module random và viết ra một hàm dùng các số ngẫu nhiên để làm toạ độ cho các góc
của hình chữ nhật.
Ta sẽ dùng một hàm trong module random là randrange. Truyền vào hàm một con
số, nó sẽ trả về một số nguyên nằm giữa số 0 và số được truyền vào. Ví dụ gọi
randrange(10) sẽ trả về một số bất kỳ nằm giữa 0 và 9, còn randrange(100) sẽ trả về một
số bất kỳ nằm giữa 0 và 99, vân vân.
Hàm sử dụng randrange của ta sẽ như thế này. Chọn File ► New Window để mở ra
một cửa sổ mới và nhập vào đoạn code sau vào:
from tkinter import *
import random
tk = Tk()
canvas = Canvas(tk, width=400, height=400)
canvas.pack()
def random_rectangle(width, height):
x1 = random.randrange(width)
y1 = random.randrange(height)
x2 = x1 + random.randrange(width)
y2 = y1 + random.randrange(height)
canvas.create_rectangle(x1, y1, x2, y2)
Đầu tiên là định nghĩa hàm của chúng ta ( def random_rectangle) nhận vào hai
tham số: width và height. Tiếp, ta dùng hàm randrange để tạo ra các biến cho cặp toạ độ
của góc trên bên trái hình chữ nhật, truyền vào các tham số là chiều dài và chiều rộng
tương ứng với x1 = random.randrange(width) và y1 = random.randrange(height). Nói
cách khác, dòng thứ hai của hàm có thể hiểu là, “Tạo biến x1 và gán cho nó một giá trị ngẫu
nhiên giữa 0 và chiều rộng được truyền vào biến width.”
Hai dòng tiếp theo chịu trách nhiệm tạo ra các biến cho cặp toạ độ của góc dưới bên
phải hình chữ nhật, bằng cách dựa vào cặp toạ độ của góc trên bên trái ( x1 và y1) và cộng
178 Chương 12