Making Future Posts Runnable Online with Stack Snippets
Python 2 (No STDIN)
Thanks to Skulpt, it has become very easy to write a Python interpreter.


function out(text) {
  var output = document.getElementById("output");
  output.innerHTML = output.innerHTML + text;
}

function builtinRead(x) {
  if(Sk.builtinFiles === undefined || Sk.builtinFiles["files"][x] === undefined)
    throw "File not found: '" + x + "'";
  return Sk.builtinFiles["files"][x];
}

function run() {
  var program = document.getElementById("python-in").value;
  var output = document.getElementById("output");
  
  output.innerHTML = "";
  
  Sk.canvas = "canvas";
  Sk.pre = "output";
  
  Sk.configure({
    output: out,
    read: builtinRead
  });
  
  try {
    Sk.importMainWithBody("&lt;stdin&gt;", false, program);
  }
  catch(e) {
    throw new Error(e.toString());
  }
}
#python-in {
  border-radius: 3px;
  background: rgb(250, 250, 250);
  width: 95%;
  height: 200px;
}

#output {
  border-radius: 3px;
  background: lightgray;
  width: 95%;
  height: 200px;
  overflow: auto;
}

#canvas {
  border: 1px solid gray;
  border-radius: 3px;
  height: 400px;
  width: 400px;
}
&lt;script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"&gt;&lt;/script&gt;
&lt;script src="http://www.skulpt.org/static/skulpt.min.js"&gt;&lt;/script&gt;
&lt;script src="http://www.skulpt.org/static/skulpt-stdlib.js"&gt;&lt;/script&gt;

Python code:&lt;br/&gt;
&lt;textarea id="python-in" name="python-in" rows="10" cols="80"&gt;&lt;/textarea&gt;&lt;br/&gt;
&lt;button id="run-code" onclick="run()"&gt;Run&lt;/button&gt;&lt;br/&gt;
&lt;br/&gt;

Output:&lt;br/&gt;
&lt;pre id="output" name="output" rows="10" cols="10" disabled&gt;&lt;/pre&gt;&lt;br/&gt;

Canvas for turtles:&lt;br/&gt;
&lt;canvas height="400" width="400" id="canvas"&gt;Your browser does not support HTML5 Canvas!&lt;/canvas&gt;



No STDIN, but it's a pretty complete implementation of Python in JS. I would load the libraries from somewhere else but I can't find a host of them.