Trong các phần mềm bảng tính điện tử, dữ liệu ngày tháng được coi là số ngày tính từ ngày 1-1-1990. Viết chương trình:
- Nhập số tự nhiên n từ bàn phím và tính xem số đó ứng với ngày, tháng, năm nào.
- Nhập thời gian theo khuôn dạng ngày - tháng - năm (ví dụ 8-10-2021), tính số ngày ứng với ngày này theo phần mềm bảng tính điện tử.
Hướng dẫn:
Chương trình 1. Nhập số tự nhiên từ bàn phím và tính xem đó là ngày tháng năm nào.
month = (31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ]
def nhuan(year):
if year % 400 == 0 or (year % 4 == 0 and year%100 != 0):
return True
else:
return False
def day_of_year(year):
if nhuan(year):
return 366
else:
return 365
def hople(year,mm, day) :
if nhuan(year):
month[1] = 29
if mm < 1 or mm > 12:
return False
if day < 1 or day > month[mm-1]:
return False
return True
def tinh_nam(d):
year = 1900
n_day = day_of_year(year)
day = d
while n_day <= d:
day = d - n_day
year = year + 1
n_day = n_day + day of_year(year)
if day == 0:
year = year - 1
day = day_of_year(year)
return year, đay
def tinh_thang(year, day) :
if nhuan(year) :
month[1] = 29
mm= 0
n_day = month[mm]
dd = day
while n_day <= day anđ mm < 11:
dd = day - n_day
mm = mm + 1
n_day = n_day + month[mm]
if dd == 0:
mm = mm - 1
dd = month[mm]
return mm+1,dd
# Chương trình chính
d = int(input( "Nhập số ngày tính từ 1/1/1990: "))
year,day = tinh_nam(d)
mm,dd = tinh thang(year, day)
print( "Đó là ngày", dd, "tháng", mm, "năm" , year)