
Concept explainers
Calculate day number corresponding to a date
Program plan:
- Define the function “isLeapYear()”,
- Check whether the year is not divisible by "4",
- If it is true, return “False”.
- Otherwise, check whether the year is divisible by "100",
- If it is true, check whether the year is divisible by "400",
- If it is true, return “True”.
- Otherwise, return “False”.
- Otherwise, return “True”.
- If it is true, check whether the year is divisible by "400",
- Check whether the year is not divisible by "4",
- Define the function “verifyDate()”,
- Check whether either a month is greater than "12" or day is greater than "31",
- If it is true, return “False”.
- Otherwise, Check whether day is less than or equal to "28",
- If the condition is “True”, return “True”.
- Otherwise, check whether month is "2" and day is "29",
- If it is “True” check whether the return value from “isLeapYear()” is “False”,
- If “True”, return “False”.
- Otherwise, return “True”.
- Otherwise, check whether day is equal to “31”,
- If “True”, Check whether month is either "2" or "4" or "6" or "11",
- If “True” return “False”.
- Otherwise, return “True”.
- Otherwise, return “True”.
- If “True”, Check whether month is either "2" or "4" or "6" or "11",
- Define the function “main()”,
- Get the date from the user.
- Assign month, day, and year by splitting the date by "/" using “split()” method
- Typecast month, day, and year to “int” type.
- Check whether the value return from “verifyDate()” is “False”,
- If it is “True”, print invalid.
- Otherwise, calculate the number of day using the formula.
- Check whether the month is “2”,
- If “True”, check the value return from “isLeapYear()” method is “True”,
- If “True”, calculate the day number using the formula.
- Otherwise, calculate the day number using another formula.
- Otherwise, calculate the day number using the given formula.
- Print the numeric value for the date.
- Call the function “main()”.

This Python program accepts a date as month/ day /year format, and verifies that it is a valid date, and then calculates the corresponding day number.
Explanation of Solution
Program:
File name: “Number.py”
#Define the function isLeapYear()
def isLeapYear(y):
#Check whether the year is not divisible by "4"
if (y % 4) != 0:
#Return false
return False
#Otherwise
else:
#Check whether the year is divisible by "100"
if (y % 100) == 0:
#Check whether the year is divisible by "400"
if (y % 400) ==0:
#Return true
return True
#Otherwise
else:
#Return false
return False
#Otherwise
else:
#Return true
return True
#Define the function verifyDate()
def verifyDate(mon, d, yr):
'''Check whether either a month is greater than "12" or day is gretaer than "31"'''
if mon > 12 or d > 31:
#Return "False"
return False
#Otherwise
else:
#Check whether day is less than or equal to "28"
if d <= 28:
#Return True
return True
#Check whether month is "2" and day is "29"
elif mon == 2 and d == 29:
#Check whether the return value is false
if isLeapYear(yr) == False:
#Return "False"
return False
#Otherwise
else:
#Return "True"
return True
#Check whether day is "31"
elif d == 31:
#Check whether month is either "2" or "4" or "6" or "11"
if mon == 2 or 4 or 6 or 11:
#Return "False"
return False
#Otherwise
else:
#Return True
return True
#Otherwise
else:
#Return True
return True
#Define the function main()
def main():
#Get the date from the user
date=eval(input("Enter date"))
#Initialize the value
dayNum=0
'''Assign month, day, and year by splitting the date by "/" using split() method'''
month_Str, day_Str, year_Str = date.split("/")
#Typecast month to int type
mon = int(month_Str)
#Typecast day to int type
d = int(day_Str)
#Typecast year to int type
yr = int(year_Str)
#Check whether the return value is false
if verifyDate(mon, d, yr) == False:
#Print invalid
print("This date is invalid.")
#Otherwise
else:
#Calculate the number of a day
dayNum = 31 * (mon - 1) + d
#Check whether month is "2"
if mon == 2:
#Check whether the return value is True
if isLeapYear(yr) == True:
#Calculate the day numbber
dayNum = dayNum - (4 * (mon) + 23)//10 + 1
#Otherwise
else:
#Calculate the day number
dayNum = dayNum - (4 * (mon) + 23)//10
#Otherwise
else:
#Calculate day number
dayNum = 31 * (mon - 1) + d
#Print the day number
print("The numeric value of this date is {}.".format(dayNum))
#Call the function main()
main()
Output:
Enter date'2/28/2001'
The numeric value of this date is 56.
Additional Output:
Enter date'05/25/1885'
The numeric value of this date is 149.
Want to see more full solutions like this?
Chapter 7 Solutions
Python Programming: An Introduction to Computer Science
- 2:21 m Ο 21% AlmaNet WE ARE HIRING Experienced Freshers Salesforce Platform Developer APPLY NOW SEND YOUR CV: Email: hr.almanet@gmail.com Contact: +91 6264643660 Visit: www.almanet.in Locations: India, USA, UK, Vietnam (Remote & Hybrid Options Available)arrow_forwardProvide a detailed explanation of the architecture on the diagramarrow_forwardhello please explain the architecture in the diagram below. thanks youarrow_forward
- Complete the JavaScript function addPixels () to calculate the sum of pixelAmount and the given element's cssProperty value, and return the new "px" value. Ex: If helloElem's width is 150px, then calling addPixels (hello Elem, "width", 50) should return 150px + 50px = "200px". SHOW EXPECTED HTML JavaScript 1 function addPixels (element, cssProperty, pixelAmount) { 2 3 /* Your solution goes here *1 4 } 5 6 const helloElem = document.querySelector("# helloMessage"); 7 const newVal = addPixels (helloElem, "width", 50); 8 helloElem.style.setProperty("width", newVal); [arrow_forwardSolve in MATLABarrow_forwardHello please look at the attached picture. I need an detailed explanation of the architecturearrow_forward
- Information Security Risk and Vulnerability Assessment 1- Which TCP/IP protocol is used to convert the IP address to the Mac address? Explain 2-What popular switch feature allows you to create communication boundaries between systems connected to the switch3- what types of vulnerability directly related to the programmer of the software?4- Who ensures the entity implements appropriate security controls to protect an asset? Please do not use AI and add refrencearrow_forwardFind the voltage V0 across the 4K resistor using the mesh method or nodal analysis. Note: I have already simulated it and the value it should give is -1.714Varrow_forwardResolver por superposicionarrow_forward
- Describe three (3) Multiplexing techniques common for fiber optic linksarrow_forwardCould you help me to know features of the following concepts: - commercial CA - memory integrity - WMI filterarrow_forwardBriefly describe the issues involved in using ATM technology in Local Area Networksarrow_forward
- C++ Programming: From Problem Analysis to Program...Computer ScienceISBN:9781337102087Author:D. S. MalikPublisher:Cengage LearningC++ for Engineers and ScientistsComputer ScienceISBN:9781133187844Author:Bronson, Gary J.Publisher:Course Technology PtrProgramming Logic & Design ComprehensiveComputer ScienceISBN:9781337669405Author:FARRELLPublisher:Cengage
- Programming with Microsoft Visual Basic 2017Computer ScienceISBN:9781337102124Author:Diane ZakPublisher:Cengage LearningMicrosoft Visual C#Computer ScienceISBN:9781337102100Author:Joyce, Farrell.Publisher:Cengage Learning,EBK JAVA PROGRAMMINGComputer ScienceISBN:9781337671385Author:FARRELLPublisher:CENGAGE LEARNING - CONSIGNMENT




