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, 3rd Ed.
- (Statistics) This is the formula for the standard normal deviate, z, used in statistical applications: z=(X)/ X is a single value. refers to an average value. refers to a standard deviation. Using this formula, you need to write a program that calculates and displays the value of the standard normal deviate when X=85.3,=80,and=4. a. For this programming problem, how many outputs are required? b. How many inputs does this problem have? c. Determine a formula for converting input items into output items. d. Test the formula written for Exercise 7c, using the data given in the problem.arrow_forward(General math) The value of p can be approximated by this series: 4(113+1517+....) Using this formula, write a program that calculates and displays the value of , using 2, 3, and 4 terms of the series.arrow_forward1.24 LAB: Expression for calories burned during workout The following equation estimates the average calories burned for a person when exercising, which is based on a scientific journal article (source): Calories = ( (Age x 0.2757) + (Weight x 0.03295) + (Heart Rate x 1.0781) — 75.4991 ) x Time / 8.368 Write a program using inputs age (years), weight (pounds), heart rate (beats per minute), and time (minutes), respectively. Output the average calories burned for a person. Output each floating-point value with two digits after the decimal point, which can be achieved as follows:print('Calories: {:.2f} calories'.format(calories)) Ex: If the input is: 49 155 148 60 then the output is: Calories: 736.21 caloriesarrow_forward
- 1.20 LAB: Expression for calories burned during workout The following equations estimate the calories burned when exercising (source): Women: Calories = ( (Age x 0.074) — (Weight x 0.05741) + (Heart Rate x 0.4472) — 20.4022 ) x Time / 4.184 Men: Calories = ( (Age x 0.2017) + (Weight x 0.09036) + (Heart Rate x 0.6309) — 55.0969 ) x Time / 4.184 Write a program using inputs age (years), weight (pounds), heart rate (beats per minute), and time (minutes), respectively. Output calories burned for women and men. Output each floating-point value with two digits after the decimal point, which can be achieved as follows:print('Men: {:.2f} calories'.format(calories_man))arrow_forward1.22 LAB: Expression for calories burned during workout The following equation estimates the average calories burned for a person when exercising, which is based on a scientific journal article (source): Calories = ( (Age x 0.2757) + (Weight x 0.03295) + (Heart Rate x 1.0781) — 75.4991 ) x Time / 8.368 Write a program using inputs age (years), weight (pounds), heart rate (beats per minute), and time (minutes), respectively. Output the average calories burned for a person. Output each floating-point value with two digits after the decimal point, which can be achieved as follows:print('Calories: {:.2f} calories'.format(calories)) Ex: If the input is: 49 155 148 60 then the output is: Calories: 736.21 calories 247772.2002516.qx3zqy7 LAB ACTIVITY 1.22.1: LAB: Expression for calories burned during workout Enter program input (optional)arrow_forward1.22 LAB: Expression for calories burned during workout The following equation estimates the average calories burned for a person when exercising, which is based on a scientific journal article (source): Calories = ( (Age x 0.2757) + (Weight x 0.03295) + (Heart Rate x 1.0781) — 75.4991 ) x Time / 8.368 Write a program using inputs age (years), weight (pounds), heart rate (beats per minute), and time (minutes), respectively. Output the average calories burned for a person. Output each floating-point value with two digits after the decimal point, which can be achieved as follows:print('Calories: {:.2f} calories'.format(calories)) Ex: If the input is: 49 155 148 60 then the output is: Calories: 736.21 calories '''''Calories=((Age x 0.2757) + (Weight x 0.03295) + (Heart Rate x 1.0781) — 75.4991)x Time / 8.368''''' age_years=float(input())weight_lbs=float(input())heart_rate=float(input())time_min=float(input()) calories = (( 49 * 0.2757) - (155 * 0.03295) + (148 * 1.0781) - 75.4991)…arrow_forward
- In Python, Assuming minors are younger than 13 and adults are older than 19, write a program that prompts the user to enter his/her age and then reports whether the user is a minor, teenager, or adult Plan each program by writing pseudocode. Write all of your pseudocode as comments immediately after your name and 2380093 Add more comments as needed in each program to explain your code. Choose descriptive variable names in all programs. Currency format. There should be no space between the $ sign and the first digit. See sep on page 66 to cancel the space automatically added when print items are separated by commas. Display commas as needed for values over $1,000.arrow_forwardOne acre of land is equivalent to 43,560 square feet. Write a program that calculates the number of acres in a tract of land with 389,767 square feet.arrow_forwardCreate an enumeration named Planet that holds the names for the eight planets in our solar system, starting with MERCURY equal to 1 and ending with NEPTUNE. Write a program named Planets that prompts the user for a numeric position, and display the name of the planet that is in the requested position. For example, if 3 is input, the output would be: EARTH is 3 planet(s) from the sun in c#arrow_forward
- In many sports events, contestants are rated by judges with an average score being determined by discarding the highest and lowest scores and averaging the remaining scores. Write a program in which eight scores are entered, computing the average score for the contestants.arrow_forwardThe great circle distance is the distance betweentwo points on the surface of a sphere. Let (x1, y1) and (x2, y2) be the geographicallatitude and longitude of two points. The great circle distance between the twopoints can be computed using the following formula:d = radius X arccos(sin (x1) X sin(x2) + cos(x1) X cos(x2) X cos(y1 - y2))Write a program that prompts the user to enter the latitude and longitude of twopoints on the earth in degrees and displays its great circle distance. The averageradius of the earth is 6,371.01 km. Note you need to convert the degrees into radiansusing the Math.toRadians method since the Java trigonometric methods useradians. The latitude and longitude degrees in the formula are for north and west.Use negative to indicate south and east degrees. Here is a sample run: Enter point 1 (latitude and longitude) in degrees: 39.55 −116.25 ↵EnterEnter point 2 (latitude and longitude) in degrees: 41.5 87.37 ↵EnterThe distance between the two points is…arrow_forwardQ1: Write a program that reads 10 numbers and then finds the largest number and prints it and finds the smallest number and eyarrow_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 Ptr