Trong các phần mềm bảng tính đệ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
32.5. Trong các phần mềm bảng tính đệ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.
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)
Bình luận