Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Tìm số lần xuất hiện của các ngày trong tuần trong năm bằng Python

Để đếm số lần mỗi ngày trong tuần (Thứ 2 đến Chủ nhật) xuất hiện trong một năm, ta xác định ngày đầu năm và số ngày dư (365 hoặc 366). Mỗi ngày xuất hiện ít nhất 52 lần, các ngày dư sẽ thêm 1 lần cho các ngày đầu tuần tính từ ngày đầu năm.

Ví dụ

import math

def dem_ngay_trong_nam(so_ngay, ngay_dau):
    cac_ngay = ["Thứ 2", "Thứ 3", "Thứ 4", "Thứ 5", "Thứ 6", "Thứ 7", "Chủ nhật"]
    dem = [4 for _ in range(7)]  # Mặc định 4 tuần hoàn chỉnh (28 ngày)
    vi_tri = -1
    for i in range(7):
        if ngay_dau == cac_ngay[i]:
            vi_tri = i
            break
    du = so_ngay - 28
    for i in range(vi_tri, vi_tri + du):
        if i > 6:
            dem[i % 7] = 5
        else:
            dem[i] = 5
    for i in range(7):
        print(cac_ngay[i], dem[i])

so_ngay = 31
ngay_dau = "Thứ 5"
dem_ngay_trong_nam(so_ngay, ngay_dau)

Kết quả

Thứ 2 4 Thứ 3 4 Thứ 4 4 Thứ 5 5 Thứ 6 5 Thứ 7 5 Chủ nhật 4

Giải thích

  • Nhập số ngày trong tháng/năm và ngày đầu tuần.
  • Khởi tạo mảng đếm với giá trị 4 (28 ngày = 4 tuần).
  • Tìm vị trí ngày đầu trong mảng.
  • Phân bổ các ngày dư (số ngày - 28) cho các ngày liên tiếp từ ngày đầu.
  • In kết quả.