Sure, you may learn how to do a for loop or how variables work. But, you don't learn how to actually use the language. Setting up a development environment, and understanding how everything is connected is much more important.
Let's say you ace everything here, on CodeAcademy, etc. You still can't actually build anything.
(For more on this, see this article from HN a few days ago: http://blog.zackshapiro.com/want-to-learn-to-code-start-here)
I really don't buy the "you have to own a car to drive one arguments" and the whole point of modern software engineering is to pull you away from the assumption of full system control and the ability to make problems go away with shell skills.
But, I would like more immediate source code management integration. That is the essential reality I always see lacking..
A non-programmer that understood git basics would be more helpful to me as a colleague than a competent programmer that doesn't.
We'll get to the rest fairly quickly, though that would likely be in the form of screencasts.
PS: I'm on the CodeMonk team, the folks that are behind PythonMonk.com and RubyMonk.com
__import__('commands').getstatusoutput('ls /')
or
__import__('subprocess').call(["ls", "-l"])
which gets blocked by the interpreter somehow with
exceptions.OSError - [Errno 11] Resource temporarily unavailable
I'm curious as to how you managed to do this - I've always been interested in how to sandbox something like this.
http://repl.it/languages/Python
They compiled CPython with Emscripten, and it gets run on your browser.
File system access isn't blocked completely:
__import__("os").listdir("/evaluate")
open("/evaluate/test.py").readlines()
Our courseware marketplace is still in a private alpha, but we are actively soliciting awesome hackers that would like to teach online.
If you input 15 and submit, it says the answer is correct. Do all online code courses just check for the retured value?
How do these services deal with someone running sum(i for i in xrange(1000000000000000000))?
"15" completely matches the specification you give.
def unique(s):
return list(set(s))
and it gave assertion errors. Nice presentation ... but incorrect Python implementation.def unique(values): """Finds all unique elements of a list.
>>> unique([])
[]
>>> unique([1, 2, 1])
[1, 2]
>>> unique([1, 2, 1, 3, 4, 2])
[1, 2, 3, 4]
"""
# your code here
return list(set(values))
it also works without the coercion to list. return set(values) is fine.Solution to that problem is correct. Sets weren't introduced yet.
"Evaluates to True when age is 40 and name is "Bob" , which should be fine i think.
More interestingly, can I get transfer credits from Codecademy instead?
- Zed Shaw, "Learn Python the Hard Way"