Kiểm tra năm nhuận python

Đề bài: Viết chương trình sử dụng ngôn ngữ lập trình Python cho phép nhập vào năm, kiểm tra và đưa ra thông báo năm vừa nhập có phải là năm thuận hay không?
Yêu cầu kiến thức:

  • Điều kiện để năm cần kiểm tra là năm nhuận: Nếu năm đó chia hết cho 400 HOẶC ((năm đó chia hết cho 4) VÀ (năm đó không chia hết cho 100))

Code tham khảo dưới đây được viết trên Python ver 3.8:


# Ho ten: Hoang Van Tuan
# Website: timoday

# Nhap du lieu
nam = int(input('Nhap nam nam: '))

# Kiem tra nam nhuan
if (nam % 400 == 0) or ((nam % 4 == 0) and (nam % 100 != 0)):
    print('Nam nhuan')
else:
    print('Nam khong nhuan')


Kết luận:

  • Bạn có thể tham khảo thêm khóa học lập trình C từ cơ bản đến nâng cao. Xem tại đây
  • Bạn có thể tham khảo thêm khóa học Thành thạo lập trình C#. Xem tại đây

Các thẻ: lap trinhlập trình python

Có thể bạn sẽ thích…

Viết chương trình Python để kiểm tra năm nhuận hay không bằng cách sử dụng Câu lệnh If, Câu lệnh If lồng nhau và Câu lệnh Elif kèm theo một ví dụ. Trước khi chúng ta tham gia vào các chương trình năm nhuận của Python, Hãy để chúng ta xem logic và định nghĩa đằng sau điều này.

  • Chương trình năm nhuận trong Python
  • Chương trình Python để kiểm tra năm nhuận bằng cách sử dụng câu lệnh If
  • Chương trình Python để kiểm tra năm nhuận bằng cách sử dụng tuyên bố Elif
  • Sử dụng câu lệnh If lồng nhau

Năm bình thường có 365 ngày, nhưng năm nhuận có 366 ngày. Về mặt logic, Tất cả các năm hoàn toàn chia hết cho bốn được gọi là Leap ngoại trừ thế kỷ.

Các năm thế kỷ có nghĩa là chúng kết thúc bằng 00 như 1200, 1300, 2400, 2500, v.v. (Rõ ràng là chúng chia hết cho 100). Đối với những điều này, chúng tôi phải tính toán thêm để kiểm tra Năm nhuận bằng Python.

  • Nếu thế kỷ chia hết cho 400, thì đó là Năm nhuận trong Python.
  • Nếu nó không chia hết cho 400, thì đó là không.

Chương trình Python để kiểm tra năm nhuận bằng cách sử dụng câu lệnh If

Chương trình Python này cho phép người dùng nhập bất kỳ số nào và kiểm tra xem người dùng đã nhập có phải là năm nhuận hay không bằng cách sử dụng câu lệnh If.

# using If Statement

yr = int(input("Please Enter the Number you wish: "))

if (( yr%400 == 0)or (( yr%4 == 0 ) and ( yr%100 != 0))):
    print("%d is a Leap year" %yr)
else:
    print("%d is Not" %yr)
Please Enter the Number you wish: 1200
1200 is a Leap Year
>>> 
Please Enter the Number you wish: 1300
1300 is Not

Trong chương trình năm nhuận Python này, Vì chúng ta phải kiểm tra nhiều điều kiện trong một Câu lệnh If, chúng ta đã sử dụng các toán tử Logical AND và Logical OR. Hãy để chúng tôi phân chia điều kiện để hiểu nó tốt hơn

1: (năm% 400 == 0) HOẶC

2: (năm% 4 == 0) VÀ

3: (năm% 100 == 0))

Trong chương trình này, điều kiện Đầu tiên (yr% 400 == 0) sẽ kiểm tra xem lời nhắc (yr% 400) có chính xác bằng 0 hay không. Theo thuật toán, bất kỳ số nào chia hết cho 400 đều là năm nhuận trong Python.

Hoặc câu lệnh If thứ hai chứa 2 câu lệnh với toán tử logic AND, vì vậy cả hai câu lệnh này đều phải TRUE.

Điều kiện đầu tiên (yr% 4 == 0) sẽ kiểm tra xem lời nhắc của (yr% 4) có chính xác bằng 0 hay không. Nếu điều kiện là Sai thì nó sẽ thoát khỏi điều kiện vì không có ích lợi gì khi kiểm tra điều kiện khác. Nó chắc chắn là không.

Và điều kiện thứ hai sẽ kiểm tra lời nhắc (yr% 100) không bằng 0. Nếu nó là TRUE thì số đã cho không phải là số thế kỷ.

Theo thuật toán, bất kỳ số nào chia hết cho 4 nhưng không chia hết cho 100 thì số đó là Năm nhuận Python.

MẸO: Vui lòng tham khảo Toán tử logic để hiểu chức năng của Python Logical And và Logical Or.

Chương trình Python để kiểm tra năm nhuận bằng cách sử dụng tuyên bố Elif

Chương trình này cho phép người dùng nhập bất kỳ giá trị nào. Và sau đó, nó sẽ kiểm tra xem người dùng đã nhập có phải là Leap year hay không bằng cách sử dụng Python Elif Statement.

# using Elif Statement

ya = int(input("Please Enter as you wish : "))

if (ya%400 == 0):
    print("%d is a Leap year" %ya)
elif (ya%100 == 0):
    print("%d is Not" %ya)
elif (ya%4 == 0):
    print("%d is a Leap year" %ya)
else:
    print("%d is Not" %ya)
Please Enter as you wish : 2022
2022 is Not

=================== RESTART ==================
Please Enter as you wish : 1300
1300 is Not

=================== RESTART ==================
Please Enter as you wish : 1200
1200 is a Leap year

Trong chương trình python elif này, trước tiên, Người dùng sẽ nhập bất kỳ số nào để kiểm tra xem đó có phải là năm Leap hay không.

  • Điều kiện If đầu tiên sẽ kiểm tra xem lời nhắc (ya% 400) có chính xác bằng 0. Theo thuật toán, bất kỳ số nào chia hết cho 400 đều là năm nhuận. Nếu điều kiện này không thành công thì nó sẽ chuyển sang điều kiện tiếp theo.
  • Thứ hai Nếu điều kiện sẽ kiểm tra (ya% 100) lời nhắc có chính xác bằng 0 hay không. Theo thuật toán, bất kỳ số nào không chia hết cho 400 nhưng chia hết cho 100 là Không phải thế kỷ. Chúng tôi đã kiểm tra (ya% 400) trong câu lệnh If đầu tiên. Bởi vì nó không thành công, nó đã đến điều kiện thứ hai. Nếu cả điều kiện thứ nhất và thứ hai đều thất bại thì nó sẽ chuyển sang điều kiện thứ ba.
  • Điều kiện thứ ba trong chương trình năm nhuận của Python sẽ kiểm tra xem num mod 4 có bằng 0. Nếu điều kiện này là Đúng thì một điều kiện là Leap bởi vì Chúng tôi đã kiểm tra các năm thế kỷ trong điều kiện trước đó. Nếu tất cả các câu lệnh Fails thì nó sẽ chuyển sang câu lệnh Khác ở cuối.
  • Nếu tất cả các câu lệnh trên không thành công thì đó không phải là năm Nhảy vọt của Python

Sử dụng câu lệnh If lồng nhau

Chương trình năm nhuận của python này sử dụng if lồng nhau cho phép người dùng nhập bất kỳ số nào. Và sau đó nó sẽ kiểm tra xem người dùng đã nhập có phải là Leap hay không bằng cách sử dụng câu lệnh If lồng nhau.

# using Nested If Statement

num = int(input("Please Enter the Number you wish: "))

if(num%4 == 0):
    if(num%100 == 0):
        if(num%400 == 0):
            print("%d is a Leap Year" %num)
        else:
            print("%d is Not" %num)
    else:
        print("%d is a Leap Year" %num)
else:
    print("%d is Not" %num)

Chương trình python này cho phép người dùng nhập bất kỳ giá trị nào để kiểm tra xem đó có phải là năm Leap hay không. Điều kiện If đầu tiên sẽ kiểm tra xem lời nhắc của (num% 4) có chính xác bằng 0 hay không.

  • Nếu điều kiện là Sai, con số đã cho chắc chắn là không.
  • Nếu điều kiện là Đúng thì chúng tôi đã kiểm tra thêm trong thế kỷ. Vì vậy trình biên dịch sẽ chuyển đến điều kiện If lồng nhau.

Thứ hai Nếu điều kiện trong chương trình năm nhuận của Python sẽ kiểm tra (num% 100) lời nhắc có chính xác bằng 0 hay Không.

  • Nếu điều kiện này là Sai thì nó không phải là năm thế kỷ. Vì vậy, con số đã cho chắc chắn là năm nhuận.
  • Nếu biểu thức là đúng thì chúng ta phải kiểm tra xem số đó có chia hết cho 400 hay không. Vì vậy, trình biên dịch sẽ chuyển sang điều kiện If lồng nhau khác.

Điều kiện này kiểm tra xem phần còn lại của (num% 400) có chính xác bằng 0 hay không.

  • Nếu biểu thức là Sai thì số đã cho chắc chắn là không.
  • Nếu biểu thức Python được đánh giá là True thì số đã cho là Năm nhuận.