Hướng dẫn algorithm for leap year or not in python - thuật toán cho năm nhuận hay không trong python

Tổng quan

Phải mất khoảng 365,25 ngày để Trái đất quay quanh mặt trời - một năm mặt trời. Chúng tôi thường làm tròn những ngày trong một năm dương lịch đến 365. Để bù đắp cho ngày còn thiếu một phần, chúng tôi thêm một ngày vào lịch của chúng tôi khoảng bốn năm một lần. Đó là một năm bước nhảy vọt.leap year.

  • Trong bài viết này, chúng ta sẽ biết về một năm bước nhảy vọt.
  • Sau đó chúng tôi sẽ xem làm thế nào để xác định xem năm nhất định có phải là một năm bước nhảy hay không.
  • Sau đó, chúng tôi sẽ xem xét các phương pháp khác nhau để xác định một năm bước nhảy ở Python.

Một năm bước nhảy vọt là gì?

Tất cả chúng ta đều phải đọc hoặc nghe về năm bước nhảy, trong đó số ngày là 366 thay vì 365. Ngày bổ sung được thêm Năm cho là một năm bước nhảy hay không.

Làm thế nào để kiểm tra năm bước nhảy ở Python?

Chính xác là, mỗi năm có 365.2425 ngày, tức là, trái đất phải mất nhiều ngày để hoàn thành một cuộc cách mạng quanh mặt trời. Bây giờ thực tế nói, chúng ta chỉ có thể có một số ngày không thể thiếu mỗi năm trong lịch của chúng ta.365.2425 days, i.e., the earth takes these many days to complete one revolution around the sun. Now practically speaking, we can have only an integral number of days every year in our calendar.

Do đó để giảm các biến chứng, chúng tôi xem xét rằng mỗi năm có 365,25 hoặc 365 () ngày, thay vì 365.2425. Bây giờ vì chúng tôi phải giữ một số ngày không thể thiếu mỗi năm, chúng tôi giữ 365 ngày mỗi năm và ngày còn lại (¼) ngày tiếp tục được thêm vào. Sau một khoảng thời gian 4 năm, tức là, (¼) + (¼) + (¼) + (¼) = 1, nó làm cho 1 ngày hoàn thành. Ngày này được thêm vào và năm cụ thể đó có thêm một ngày, tức là, 365 + 1 = 366 ngày, điều này khiến nó trở thành một năm bước nhảy vọt. Do đó, chúng ta có thể thấy rằng năm bước nhảy xảy ra cứ sau bốn năm một lần. Logic này mà chúng tôi đã xây dựng ở trên nói rằng một năm chia hết cho 4, là một năm bước nhảy vọt kể từ khi nó xảy ra 4 năm một lần.365.25 or 365(¼) days, instead of 365.2425. Now since we have to keep an integral number of days every year, we keep 365 days every year, and the remaining (¼)th day keeps getting added. After a period of 4 years, i.e., (¼) + (¼) + (¼) + (¼) = 1, it makes 1 complete day. This day gets added and that particular year has one extra day, i.e., 365 + 1 = 366 days, which makes it a Leap Year. Thus we can see that Leap Year occurs once every four years. This logic that we have formulated above says that a year that is divisible by 4, is a Leap Year since it occurs every 4 years.

Nhưng logic này chỉ có giá trị trong những năm không phải thế kỷ, tức là, những năm không chia hết cho 100, như 1976, 2015, 2021, v.v., và không hợp lệ trong những năm thế kỷ, tức là, 2000, 1900, 1800, v.v. Năm, tính chia rẽ với 4 là không đủ để nói liệu đó có phải là một năm bước nhảy hay không.

Như đã thấy ở trên, chúng tôi đã mất xấp xỉ 365,25 ngày trong một năm thay vì 365.2425, tạo ra sự khác biệt 0,0075 ngày. Bây giờ vì chúng tôi muốn có một số ngày không thể thiếu, chúng tôi thấy rằng 0,075 ngày cộng lại trong 400 năm làm cho 3 ngày, tức là, 0,0075 * 400 = 3 ngày.0.0075 * 400 = 3 days.

Vì vậy, chúng tôi thấy rằng 3 ngày thêm sẽ được thêm vào cuối mỗi 400 năm. Chúng tôi biết rằng Leap Year có thêm 1 ngày, vì vậy 3 ngày tương ứng với 3 năm nhảy. Do đó để bù đắp cho sự khác biệt này, năm bước nhảy được bỏ qua ba lần cứ sau bốn trăm năm. Nói cách khác, một năm thế kỷ không thể là một năm nhảy trừ khi nó chia hết cho 400. Do đó, 1700, 1800 và 1900 không phải là năm nhảy, mà là 1600, 2000 và 2400 là những năm nhảy.

Bây giờ chúng ta hãy xem xét quá trình từng bước để kiểm tra năm bước nhảy.

Thuật toán để kiểm tra năm bước nhảy ở Python

Bây giờ để kiểm tra xem một năm nhất định có phải là một năm nhảy hay không, các bước sau đây sẽ được kiểm tra:

  1. Nếu năm nhất định hoàn toàn chia hết cho 4, chúng ta sẽ tiến lên phía trước, nếu không chúng ta ngay lập tức nói rằng đó không phải là một năm bước nhảy vọt.
  2. Bây giờ chúng tôi kiểm tra xem năm nhất định có hoàn toàn chia hết 100 hay không, để kiểm tra xem đó có phải là một năm thế kỷ hay không. Nếu nó không chia hết cho 100, chúng tôi nói rằng đó là một năm bước nhảy vọt, vì, đối với những năm không phải là thế kỷ, thì sự chia rẽ của 4 là đủ để nói liệu năm đó có phải là một năm bước nhảy vọt hay không. Nếu nó chia hết cho 100, chúng ta sẽ tiến lên phía trước.
  3. Trong bước này, chúng tôi kiểm tra xem năm nhất định có chia hết cho 400 hay không vì chúng tôi đã biết rằng năm nhất định là một năm thế kỷ. Nếu nó chia hết cho 400, chúng tôi nói đó là một năm bước nhảy, chúng tôi nói rằng đó không phải là một năm bước nhảy vọt.

Bây giờ chúng ta hãy xem các phương pháp khác nhau để viết mã để kiểm tra LEAP Year in Python.

Phương pháp kiểm tra năm bước nhảy ở Python

Sử dụng điều kiện Nested-if trong Python

Trong tập hợp các chương trình sau đây, chúng tôi sẽ chuyển từng bước bằng cách sử dụng các câu lệnh nếu tìm kiếm năm nhất định có phải là năm bước nhảy hay không. Chúng tôi sẽ theo lời giải thích từng bước chính xác được đưa ra ở trên trong phần Thuật toán để viết chương trình.
We will follow the exact step-by-step explanation given above in the Algorithm section to write the program.

Code:


year = 2016
if year % 4 == 0:
    if year % 100 == 0:
        if year % 400 == 0:
            print("True")
        else:
            print("False")
    else:
        print("True")
else:
    print("False")

Output:

True

Kể từ năm 2016 là chia hết cho 4, đây là một năm không phải là thế kỷ.

Code:

year = 2000
if year % 4 == 0:
 if year % 100 == 0:
        if year % 400 == 0:
            print("True")
        else:
            print("False")
    else:
        print("True")
else:
    print("False")

Output:

True

Kể từ năm 2000 là một năm thế kỷ, nên chia hết cho 400 để trở thành một năm bước nhảy vọt.

Code:

year = 2100
if year % 4 == 0:
    if year % 100 == 0:
        if year % 400 == 0:
            print("True")
        else:
            print("False")
    else:
        print("True")
else:
    print("False")

Output:

False

Vì 2100 là một năm thế kỷ, nên chia hết 400 để trở thành một năm bước nhảy vọt, nhưng nó không chia hết cho 400 do đó nó không phải là một năm bước nhảy vọt.

Làm thế nào để bạn viết một thuật toán cho một năm bước nhảy?

Làm thế nào để bạn viết một thuật toán cho một năm bước nhảy?

  1. Nếu năm chia hết cho 4, và đó là một năm không phải là thế kỷ, tức là, nó không chia hết cho 100.
  2. Nếu năm chia hết cho 400 (thì nó cũng sẽ chia hết cho 100), do đó chúng ta rõ ràng có thể nói rằng đó là một năm thế kỷ, và cũng là một năm bước nhảy vọt.

Code:

year = 2016
if ((year % 4 == 0 and year % 100 != 0) or (year % 400 == 0)):
  print("True")
else:
  print("False")

Output:

True

Kể từ năm 2016 là chia hết cho 4, đây là một năm không phải là thế kỷ.

Code:

year = 2000
if ((year % 4 == 0 and year % 100 != 0) or (year % 400 == 0)):
  print("True")
else:
  print("False")

Output:

True

Kể từ năm 2000 là một năm thế kỷ, nên chia hết cho 400 để trở thành một năm bước nhảy vọt.

Code:

True
0

Output:

False

Vì 2100 là một năm thế kỷ, nên chia hết 400 để trở thành một năm bước nhảy vọt, nhưng nó không chia hết cho 400 do đó nó không phải là một năm bước nhảy vọt.

Sử dụng câu lệnh ELIF trong Python

Trong tập hợp các chương trình sau đây, chúng tôi sẽ sử dụng câu lệnh ELIF trong mã của chúng tôi để tìm năm nhất định có phải là năm bước nhảy hay không.

  1. Nếu chúng ta quan sát cẩn thận, chúng ta sẽ thấy rằng nếu năm nhất định chia hết cho 400, thì nó sẽ tự động chia cho 100 .
  2. Nếu năm nhất định không chia hết cho 400, chúng ta sẽ kiểm tra tính chia hết của nó với 100. Nếu năm chia hết thì chúng ta có thể nói rằng đó là một năm thế kỷ nhưng không phải là một năm bước nhảy, vì chúng ta đã kiểm tra tính chia hết của nó với 400 .
  3. Nếu năm nhất định cũng không chia hết cho 100, thì cuối cùng chúng tôi sẽ kiểm tra tính chia hết của nó với 4. Nếu năm chia hết cho 4 thì đó là một năm khác, đó không phải là một năm bước nhảy vọt.

Code:

True
2

Output:

True

Kể từ năm 2016 là chia hết cho 4, và đó là một năm không phải là thế kỷ.

Code:

True
4

Output:

True

Kể từ năm 2000 là một năm thế kỷ, nên chia hết cho 400 để trở thành một năm bước nhảy vọt.

Code:

True
6

Output:

False

Vì 2100 là một năm thế kỷ, và nó sẽ được chia hết cho 400 để trở thành một năm bước nhảy vọt, nhưng nó không chia hết cho 400 do đó nó không phải là một năm bước nhảy vọt.

Sử dụng mô -đun Lịch trong Python

Trong tập hợp các chương trình sau, chúng tôi sẽ sử dụng hàm isLeap () trong mô -đun lịch của Python, để tìm một năm nhất định có phải là một năm bước nhảy hay không. Trước tiên chúng tôi sẽ nhập mô -đun lịch và chúng tôi sẽ sử dụng hàm isLeap () để viết mã của chúng tôi. Hàm isLeap () sẽ trả về đúng nếu năm đã cho là một năm khác, nó sẽ trả lại sai. Bây giờ chúng tôi xem chương trình.

Code:

True
8

Output:

True

Kể từ năm 2016 là chia hết cho 4, đây là một năm không phải là thế kỷ.

Code:

year = 2000
if year % 4 == 0:
 if year % 100 == 0:
        if year % 400 == 0:
            print("True")
        else:
            print("False")
    else:
        print("True")
else:
    print("False")
0

Output:

True

Kể từ năm 2000 là một năm thế kỷ, nên chia hết cho 400 để trở thành một năm bước nhảy vọt.

Code:

year = 2000
if year % 4 == 0:
 if year % 100 == 0:
        if year % 400 == 0:
            print("True")
        else:
            print("False")
    else:
        print("True")
else:
    print("False")
2

Output:

False

Vì 2100 là một năm thế kỷ, nên chia hết 400 để trở thành một năm bước nhảy vọt, nhưng nó không chia hết cho 400 do đó nó không phải là một năm bước nhảy vọt.

Sự kết luận

Bây giờ chúng ta đã thảo luận về logic, và cũng là những cách khác nhau để viết chương trình để tính toán năm bước nhảy, chúng ta hãy sửa đổi một vài điểm:

  1. Trong tất cả các chương trình kiểm tra năm bước nhảy, mấu chốt vẫn giữ nguyên, tức là, trước tiên, chúng tôi quyết định xem năm nhất định có phải là năm thế kỷ hay không, vì thuật toán cho cả hai trường hợp là khác nhau.
  2. Tiếp theo, trong những năm thế kỷ, chúng ta phải kiểm tra khả năng chia rẽ của nó với 400. Nếu nó được chia hoàn toàn, chúng ta có thể nói đó là một năm bước nhảy, nếu không thì đó không phải là một năm bước nhảy vọt.
  3. Nếu năm là một năm không phải là thế kỷ, thì chúng tôi kiểm tra tính chia rẽ của nó với 4. Nếu nó được chia hoàn toàn, chúng tôi có thể nói đó là một năm bước nhảy, nếu không thì đó không phải là một năm bước nhảy vọt.
  4. Nếu không có điều kiện nào ở trên được thỏa mãn, chúng ta có thể nói rằng đó không phải là một năm bước nhảy vọt.

Đọc thêm:

  1. Người vận hành trong Python
  2. Lập trình Python
  3. Python nếu tuyên bố khác

Làm thế nào để bạn viết một thuật toán cho một năm bước nhảy?

Thuật toán để xác định xem một năm là một năm bước nhảy như sau: Mỗi năm chính xác chia hết cho bốn là một năm bước nhảy, ngoại trừ những năm được chia chính xác cho 100chia hết cho 400.Every year that is exactly divisible by four is a leap year, except for years that are exactly divisible by 100, but these centurial years are leap years, if they are exactly divisible by 400.

Năm 1992 có phải là một năm bước nhảy không?

Tuy nhiên, nó được chia đều cho 400. Do đó, đó là một năm bước nhảy vọt.Sau đây là danh sách một số năm nhảy: 1904, 1908, 1912, 1916, 1920, 1924, 1928, 1932, 1936, 1940, 1944, 1948, 1952, 1956, 1960, 1964, 1968, 1972, 1976,1984, 1988, 1992, 1996, 2000, 2004, 2008, 2012, 2016, 2020, 2024, 2028.it is a leap year. The following is a list of some leap years: 1904, 1908, 1912, 1916, 1920, 1924, 1928, 1932, 1936, 1940, 1944, 1948, 1952, 1956, 1960, 1964, 1968, 1972, 1976, 1980, 1984, 1988, 1992, 1996, 2000, 2004, 2008, 2012, 2016, 2020, 2024, 2028.