• Status: Solved
• Priority: Medium
• Security: Public
• Views: 105

# Code Interpretation Needed

def _submit_callback(self):

Looking at this snippet, what is the :

self.months.index(self.end_month.get()) + 1,   doing?

Is there something there that will get say the ending month as count the number of days in that month?

# check that the input values are a real, legitimate date
try:
start = date(int(self.start_year.get()),
self.months.index(self.start_month.get()) + 1,
int(self.start_day.get()))

end = date(int(self.end_year.get()),
self.months.index(self.end_month.get()) + 1,
int(self.end_day.get()))
0
xoxomos
• 3
• 2
1 Solution

Author Commented:
It's in some Python code i'm looking at.
0

IT Business Systems Analyst / Software DeveloperCommented:
This is only a guess from the (very) limited amount of info that you've provided, but..

self.end_month       is probably a field of some sort that accepts the month, possibly as a string, ie. JAN or FEB, etc

self.end_month.get()       returns that month as a string, ie. "JAN"

self.months       is an array on all the month names as strings, ie. [ "JAN", "FEB", "MAR", "APR", .... ]

self.months.index()       looks up the array to find the index given a value passed in, so...

self.months.index(self.end_month.get())       if the end_month was "JAN", it will find "JAN" in the array which is at index = 0 and so return 0 (Note, array indexes are 0 based, ie. the first item in the array is index 0, the second item is index 1, etc)

self.months.index(self.end_month.get()) + 1       just adds 1 to the index retrieves. This is to cater for the above fact that indexes are 0 based. So if the end_month is "JAN", the index in the array will be 0 and then we add 1, so the result is 1 which is what the date() function would require, ie. the months of the year, "JAN" -> "DEC" have indexes in the 0 -> 11 so we add one to get the range 1 -> 12
0

Author Commented:
Makes so much sense.  Mil gracias.
0

Author Commented:
Thanx
0

IT Business Systems Analyst / Software DeveloperCommented:
You're welcome! :)
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.