Go Premium for a chance to win a PS4. Enter to Win

x
Solved

# Code Interpretation Needed

Posted on 2015-02-24
Medium Priority
100 Views
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
Question by:xoxomos
• 3
• 2

Author Comment

ID: 40629472
It's in some Python code i'm looking at.
0

LVL 36

Accepted Solution

mccarl earned 2000 total points
ID: 40629662
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 Comment

ID: 40629666
Makes so much sense.  Mil gracias.
0

Author Closing Comment

ID: 40629668
Thanx
0

LVL 36

Expert Comment

ID: 40629681
You're welcome! :)
0

## Featured Post

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In real business world data are crucial and sometimes data are shared among different information systems. Hence, an agreeable file transfer protocol need to be established.
We live in a world of interfaces like the one in the title picture. VBA also allows to use interfaces which offers a lot of possibilities. This article describes how to use interfaces in VBA and how to work around their bugs.
Learn the basics of lists in Python. Lists, as their name suggests, are a means for ordering and storing values. : Lists are declared using brackets; for example: t = [1, 2, 3]: Lists may contain a mix of data types; for example: t = ['string', 1, T…
Viewers will learn how to properly install Eclipse with the necessary JDK, and will take a look at an introductory Java program. Download Eclipse installation zip file: Extract files from zip file: Download and install JDK 8: Open Eclipse and …
###### Suggested Courses
Course of the Month10 days, 14 hours left to enroll