Python Forum
How to calculate the year by adding n months?
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
How to calculate the year by adding n months?
#1
Hi Everyone,

I've successfully solved many problems. I'm even starting to solve some in the 'easy' category on Edabit. However, this 'very easy' problem seems harder than the category says. I'm really lost and don't know where to begin. Here is the problem:

Create a function that takes in year and month as input, then return what year it would be after n-months has elapsed.

Examples
after_n_months(2020, 24) ➞ 2022

after_n_months(1832, 2) ➞ 1832

after_n_months(1444, 60) ➞ 1449
Notes
Assume that adding 12 months will always increment the year by 1.
If no value is given for year or months, return "year missing" or "month missing".
At least one value will be present.
Reply
#2
What is causing you difficulty? Given a year and a number of months, how would you work out what the new year should be? It's a pretty trivial problem.
Reply
#3
(Jun-27-2020, 06:13 PM)ndc85430 Wrote: What is causing you difficulty? Given a year and a number of months, how would you work out what the new year should be? It's a pretty trivial problem.

def after_n_months(year, month):
	if month % 12 == 0:
		year += 1
	return year
This is what I have so far and it's VERY CLOSE.
Reply
#4
calculate how many full years n months is and then add it to years
Reply
#5
Express in words what you're checking on line 2. Does it make sense to increment year by 1 whenever that is true?
Reply
#6
(Jun-27-2020, 06:26 PM)ndc85430 Wrote: Express in words what you're checking on line 2. Does it make sense to increment year by 1 whenever that is true?

I thought it was because 12 months = 1 year.
Reply
#7
your code at the moment would only add 1 year whenever months is divisible by 12.
ie 12, 24, 36, 48 would all add just 1 year, any number of months that was not a full year would add nothing.
Reply
#8
Well, remember that % gives you the remainder after division, so any multiple of 12 will satisfy that condition.
Reply
#9
(Jun-27-2020, 06:50 PM)ndc85430 Wrote: Well, remember that % gives you the remainder after division, so any multiple of 12 will satisfy that condition.

OK. I get what you guys are saying about the divisible by 12. I understand that it will only increment by 1 each time it is divisible by 12, which would not be correct. I just don't know how to increment the years based on the amount of months. That's where I'm still stuck and confused. I know this may seem easy to you guys because you're experts, but I've been stuck on this problem for weeks. The resources they provide with this problem don't help either.
Reply
#10
How many months are in a year? Given a number of months, how can you work out how many years that corresponds to? This really isn't something that should take you weeks, nor is something an expert can only do; it's a basic calculation.
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  How to calculate a months' 1st, 4th, 7th day and also 1st again? cananb 1 1,533 Nov-11-2020, 09:17 PM
Last Post: deanhystad
  how to tell python to do something every 6 months Jezani_VIII 1 1,938 Aug-18-2019, 02:30 PM
Last Post: ichabod801

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020