At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus id quod maxime placeat facere possimus, omnis voluptas assumenda est, omnis dolor repellendus. Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis voluptatibus maiores alias consequatur aut perferendis doloribus asperiores repellat.
i wouldn't expect the solutions to be written by 'the pros' they blunder here and there 2011 class right? did you run the test module?
I've run the modules, but I just want to compare my code with others' to assess efficiency issues. This is for the course with Guttag. The ps9_writeup appears to be for a different course or at least a different problem set that I have yet to get to.
which year, 2011 or 2008?
here is greedy function i wrote - a bit different: http://dpaste.com/810054/
another greedy: http://dpaste.com/810055/ and a bruteforce: http://dpaste.com/810056/
Nice looking function... one question: you take comparator as an argument for a greedy function, but when running the code, what do you pass into it? I'm assuming you're using the comparators that take the arguments subInfo1 and subInfo2, but since sort needs to iterate over all of the subInfo to do its magic, what do you pass into the argument for greedy function? When I just try to pass in the name of, say, cmpWork, it asks me for arguments.
so that first function, greedy_sort(), doesn't really use those comparator functions, it just uses them to decide how to sort the list then the last bit picks off the first items in the list till it runs out of work
I get that, but the way they have set up the greedy_function is that it takes the arguments (subjects, maxWork, comparator), so you have to pass in a comparator function of some sort if you adhere to their original code. But every comparator function requires the arguments (subInfo1, subInfo2); so what should one pass into those when calling the greedy_function?
ahh - one of the things they want you to learn is that a function is an object just like a str or an int or a dictionary or a tuple are objects and that you can pass a function as an argument to another function. when you do that you just pass the function object without arguments.
when i try to pass it without arguments I get this error: TypeError: cmpValue() takes exactly 2 arguments (0 given)
this is what I'm trying to call print greedyAdvisor(loadSubjects(SUBJECT_FILENAME), 30, cmpValue())
http://dpaste.com/810059/ pass it without the parens
still get TypeError: cmpValue() takes exactly 2 arguments (1 given)
did you see my examples?
yeah, there must be something else wrong with the way I'm setting up the code... I'll have to go back and debug the rest of the function. thanks!
http://dpaste.com/810061/ when you get it working, here is a function that tests greedy using the same concepts - functions as objects - note it uses a small dictionary with a different name than the one used in the 2011 pset