Coding for KidsCoding for Kids
Cấp Độ Sáng TạoThử TháchHướng Dẫn Giáo Viên
Bình chọn tính năng
Khóa học Phát triển Python Nâng cao
Chương
>
Cấp độ

Các mô-đun Chuỗi & Thời Gian
Mô-đun Lịch

Mục tiêu

Kiểm tra lịch và thiết lập các ngày cho một số mốc thời gian giao hàng bằng cách sử dụng module Calendar.

Có một số lô hàng đã đến và các thời gian biểu cần được tuân thủ để chúng có thể được phân phối quanh khu vực xây dựng trang trại mới. Trước đây chúng ta đã sử dụng module date để thiết lập nhãn vận chuyển, ở đây chúng ta sẽ thiết lập thời gian biểu bằng cách sử dụng module calendar. Để tận dụng các lớp và hàm của module, hãy sử dụng import calendar để nhập tất cả các tài liệu liên quan.

Với mục đích của chúng ta, chúng ta sẽ sử dụng các hàm của module calendar sau:

  • calendar.calendar(): Hiển thị lịch đầy đủ cho cả năm, nhận một (1) đối số, đó là năm bạn muốn hiển thị.
  • calendar.month(): Hiển thị lịch cho một tháng, nhận hai (2) đối số, năm và tháng.
  • calendar.isleap(): Kiểm tra xem một năm có phải năm nhuận hay không, nhận một (1) đối số, đó là năm cần kiểm tra.
  • calendar.leapdays(): Kiểm tra số ngày nhuận tích lũy qua các năm, nhận hai (2) đối số là các năm bao gồm khoảng thời gian bạn muốn kiểm tra.
  • itermonthdays(): Sử dụng lớp Calendar(), lặp qua tất cả các ngày trong tháng, nhận hai đối số, năm và tháng.
  • itermonthdates(): Sử dụng lớp Calendar(), lặp qua tất cả các ngày tháng trong tháng, nhận hai đối số, năm và tháng.
  • monthdayscalendar(): Sử dụng lớp Calendar(), lặp qua tất cả các tuần trong tháng, nhận hai đối số, năm và tháng. Lưu trữ dữ liệu trong một danh sách lồng nhau.
  • monthdays2calendar(): Tương tự như hàm trước nhưng nó lưu trữ tuần và ngày cùng nhau trong một danh sách hai chiều.

Để bắt đầu, hãy đi đến dấu X màu vàng và kiểm tra lịch, tạo một biến có tên cal và lưu giá trị của calendar.calendar() với năm 2026 làm đối số, như sau: cal = calendar.calendar(2026). Sử dụng hàm display() để hiển thị biến cal mà bạn vừa thiết lập.

Sau khi kiểm tra và hiển thị lịch, hãy đến dấu X màu sáng và kiểm tra bảng tính trên bàn. Sử dụng hàm read() để xem ghi chú về tháng ngày đã được lên lịch của nguồn cung cấp. Tạo hai biến, một có tên year và một có tên month và điền thông tin bạn vừa đọc được.

Tạo một biến có tên calendar_month và lưu giá trị của hàm calendar.month() với các biến yearmonth làm đối số. Sử dụng hàm display() để hiển thị tháng lịch, cái này sẽ được dùng để thiết lập thời gian biểu phân phối.

Đi đến dấu X màu tối trên thảm màu xanh lá, ở đây chúng ta sẽ ghi lại một số điểm dữ liệu để đảm bảo thời gian biểu không bị lệch. Tạo hai biến, một có tên leap_year và một có tên leap_days. Đối với biến leap_year lưu kết quả của calendar.isleap() với đối số là 2026. Điều này sẽ cho phép bạn kiểm tra xem năm của dự án hiện tại có phải là năm nhuận hay không. Đối với biến leap_days, lưu giá trị của calendar.leapdays() và thêm vào các giá trị: 20202027 làm đối số. Điều này xác minh số ngày nhuận đã xảy ra trong suốt thời gian dự án. Sử dụng hàm write() đã được viết sẵn và thêm leap_yearleap_days để ghi nhận dữ liệu.

Đi đến dấu X màu tối trên thảm màu đỏ và đối mặt với bàn làm việc, ở đây chúng ta sẽ sắp xếp lịch của tháng. Tạo một biến có tên date và lưu giá trị của calendar.Calendar(), điều này tạo ra một đối tượng lớp mà chúng ta có thể tham chiếu sau này. Tạo một biến khác có tên day_roster và gán một chuỗi rỗng, điều này sẽ cho phép chúng ta lưu trữ danh sách các ngày dưới dạng chuỗi. Như sau: day_roster = "".

Đã được viết sẵn trong trình soạn thảo là một vòng lặp for lặp qua lịch và liệt kê các ngày. Sử dụng hàm itermonthdays() và thêm các biến yearmonth bạn đã tạo trước đó làm đối số. Thêm các mục còn thiếu nếu cần để hoàn thiện danh sách.

for day in dates.itermonthdays(-insert value-, -insert value-): entry = "Day: %s \n" % (day) day_roster += entry

Sau khi thiết lập vòng lặp, tiếp theo hãy tạo một bản sao của vòng lặp này tuy nhiên thay thế hàm itermonthdays() bằng itermonthdates() và thêm các biến yearmonth làm đối số. Đối với biến entry, hãy ghi lại dữ liệu như sau: entry = "%s \n" % (day). Những điều này sẽ cung cấp cho chúng ta các ngày đầy đủ của thời gian dự án. Sử dụng hàm display() đã được viết sẵn với biến day_roster để hiển thị danh sách đầy đủ các ngày của dự án trong lịch.

Đi đến dấu X màu tối trên thảm màu xanh dương và đối mặt với ghi chú, ở đây chúng ta sẽ thiết lập danh mục các tuần làm việc theo dõi dự án được sắp xếp trong danh sách. Tạo một biến có tên weeks và lưu giá trị của calendar.Calendar(), điều này tạo ra một đối tượng lớp mà chúng ta có thể tham chiếu với các hàm. Thay thế giá trị của biến month bằng 7 để di chuyển lên thời gian biểu mà chúng ta đang làm việc, như sau: month = 7.

Tạo một biến có tên week_roster và gán một chuỗi rỗng, điều này sẽ cho phép chúng ta lưu trữ danh sách các tuần dưới dạng chuỗi. Như sau: week_roster = "". Đã được viết sẵn trong trình soạn thảo là một vòng lặp for lặp qua lịch và liệt kê các ngày trong tuần. Sử dụng hàm monthdayscalendar() và thêm các biến yearmonth bạn đã tạo trước đó làm đối số. Thêm các mục còn thiếu nếu cần để hoàn thiện danh sách.

for day in weeks.monthdayscalendar(-insert value-, -insert value-): entry = "%s \n" % (day) week_roster += entry

Sau khi thiết lập vòng lặp, tiếp theo hãy tạo một bản sao của vòng lặp này tuy nhiên thay thế hàm monthdayscalendar() bằng monthdays2calendar() và thêm các biến yearmonth làm đối số. Những điều này sẽ cung cấp cho chúng ta các ngày đầy đủ của thời gian dự án. Sử dụng hàm display() đã được viết sẵn với biến week_roster để hiển thị danh sách đầy đủ các ngày trong tuần của dự án trong lịch để hoàn thành cấp độ.

Sách Mã