Page 98 - Em Học Python
P. 98
ngày, trừ đi 3 xu mỗi tuần bị con quạ trộm mất.
Kể ra mà nhìn được đống vàng này nó đầy lên hàng tuần như thế nào thì thích mắt
ra phết ^^. Với vòng lặp for ta có thể làm được đấy, nhưng việc đầu tiên ta sẽ phải làm là
đổi giá trị biến magic_coins để giờ nó mang ý nghĩa là tổng số xu được sinh ra trong cả
tuần. 10 xu một ngày mà 7 ngày một tuần, vậy magic_coins giờ sẽ là 70:
>>> found_coins = 20
>>> magic_coins = 70
>>> stolen_coins = 3
Giờ ta có thể nhìn thấy kho báu đầy lên hàng tuần bằng cách tạo ra một biến mới là
coins, và dùng một vòng lặp:
>>> found_coins = 20
>>> magic_coins = 70
>>> stolen_coins = 3
>>> coins = found_coins
>>> for week in range(1, 53):
coins = coins + magic_coins - stolen_coins
print('Week %s = %s' % (week, coins))
Ở ❶, biến coins được cấp cho một giá trị, chính là giá trị của found_coins; đây là
điểm khởi đầu. Dòng tiếp theo ở ❷ bắt đầu cài đặt một vòng for, và các lệnh trong nó (hai
dòng ❸ và ❹) sẽ được chạy. Mỗi lần lặp, biến week lại bị gán một số trong khoảng từ 1 đến
52.
Dòng ❸ hơi phức tạp một chút. Về cơ bản thì là, mỗi tuần ta đều cần cộng thêm số
xu được máy sinh ta và trừ đi số xu bị quạ tha đi mất. Hình dung biến coins như cái hòm
đựng xu của em ý. Cứ hàng tuần lại có xu mới được ném vào trong hòm. Cho nên ý nghĩa
thực tế của dòng này là “Thay thế giá trị của biến coins bằng số xu hiện tại ta đang có,
cộng với số xu mới của tuần này.” Và về cơ bản, dấu bằng ( =) là một kiểu ra lệnh rất khệnh,
“Làm việc gì gì đó bên phải đê, rồi ghi kết quả công việc lại, dùng cái tên mà tôi đưa ở bên
tay trái á.”
72 Chương 6