Thursday, April 22, 2021

[Solved] Program To Check Leap Year In Python Using Functions


In this tutorial, we will learn how to calculate leap year with a simple python script. First, we need to understand the rules behind a year being a leap year to write the code. The steps to calculate leap year are following


  1. If the year is evenly divisible by 4, go to step 2. Otherwise, go to step 5.

  2. If the year is evenly divisible by 100, go to step 3. Otherwise, go to step 4.

  3. If the year is evenly divisible by 400, go to step 4. Otherwise, go to step 5.

  4. The year is a leap year (it has 366 days).

  5. The year is not a leap year (it has 365 days).


For more information and detailed examples, we can read This article. 


To write a python script, we will create a flowchart of the rules as mentioned earlier.


Leap_Year_Check_Python_Flowchart



After creating a flowchart, we can start writing python code.


Step 1: Ask User for Input

To allow users to input a value, we need to add an 'input' statement in our program. The 'input' statement displays a string and returns the text input by users, so we need to store it in a variable. We will define a variable named 'user_input', so our first statement becomes this.


user_input = input(“"Enter a Year: ")


However, the input statement returns any value input by the user as text. To handle this, we add the 'int' statement before the 'input' statement.



user_input = int(input(“"Enter a Year: "))


Step 2: Process the Input

Once the user has input, we have our value stored in a variable name 'user_input' we can process it as 'user_input'. First, we divide the 'user_input' by 4. Please keep in mind that we will use the modulus division method because we want to check if the remainder is 0 or not.

 If the remainder is 0, then we divide it by 100. However, before we check the remainder of the division of 100, if we re-read Rule 2 mentioned above, we can see if we do not check the remainder of the division of 100 for 0. However, for 1, we can skip step 3 and directly go to step 4. So our code becomes



if (year%4==0):

        if(year%100==1):

            print(f"{year} is a leap year!!") 



**notice the indentation? Keep it that way because python uses indentation to nest statements.


We have used two 'if' statements to check the leap year, but when both the 'if' statements are false, we will divide 'user_input' by 400 and check the remainder for 0. We add 'else statement for this purpose.


def leap_check(year):


    if (year%4==0):

        if(year%100==1):

            print(f"{year} is a leap year!!")    

        else:

            if(year%400==0):

                print(f"{year} is a leap year!!")


Then we declare everything else as not a leap year.



if (year%4==0):

        if(year%100==1):

            print(f"{year} is a leap year!!")    

        else:

            if(year%400==0):

                print(f"{year} is a leap year!!")

            else:

                print(f"{year} is not a leap year!!")

    else:

        print(f"{year} is not a leap year!!")



Now wrap up all the code in a function and call it in main.


def leap_check(year):


    if (year%4==0):

        if(year%100==1):

            print(f"{year} is a leap year!!")    

        else:

            if(year%400==0):

                print(f"{year} is a leap year!!")

            else:

                print(f"{year} is not a leap year!!")

    else:

        print(f"{year} is not a leap year!!")



Step 3: Display outputs

The 'print' function will display the and data already used in the 'if' statement.


user_year = int(input("Enter a Year: "))

leap_check(user_year)


If you find any difficulties in this code or tutorial, please click here or visit Ask For Help.


#Source Code 👇
#-------------------------------------------------------------------------------------
#Leap Year Check 

def leap_check(year):

    if (year%4==0):
        if(year%100==1):
            print(f"{year} is a leap year!!")    
        else:
            if(year%400==0):
                print(f"{year} is a leap year!!")
            else:
                print(f"{year} is not a leap year!!")
    else:
        print(f"{year} is not a leap year!!")


print("\t\t\n\nWelcome!! This programme checks if input year is leap year\n\n")


user_year = int(input("Enter a Year: "))
leap_check(user_year)

#-----------------------------------------------------------------------

OUTPUT 👇
Welcome!! This programme checks if input year is leap year Enter a Year: 2000 2000 is a leap year!!

Dont forget to share your feedback in comments section


Output of Leap Year Check Python Flowchart



1 comment:

eadwinnnagano said...
This comment has been removed by a blog administrator.

Complete Video Tutorials