Boston Python Workshop 6/Friday/CodingBat Using Codingbat

From OpenHatch wiki
Revision as of 02:39, 27 March 2012 by imported>Adamf (Created page with "===Using CodingBat=== CodingBat is a little different from using python at the command line or in a text editor like we've been doing. When you use CodingBat you type your co...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Using CodingBat

CodingBat is a little different from using python at the command line or in a text editor like we've been doing. When you use CodingBat you type your code into a web page and click 'Go' when you want that code to run. You'll still need to make sure you indent all your code to the same level.

The way CodingBat works is that your write a function (the first line of the function is written for you), and CodingBat will run your function a few times, each time with a different input. CodingBat will look at the output of your function and compare it to the correct answer. If all the outputs are correct for all the inputs, you're done!

Let's walk through an example; in this case I'll use the sumTwoNumbers exercise.

Here's the first screen we see:

This screen describes the problem (write a function to add any two numbers together) and gives you the inputs that CodingBat will give to the function you've written, and the outputs that CodingBat expects to see returned from your function for each input.

The inputs are the values in the parentheses, and the expected output is the value pointed to by the arrows:

For this example CodingBat is going to run your function three times (one for each set of inputs). Some of the CodingBat problems will run your function more than three times, some less.

If you simply click "Go" without typing anything in the box, CodingbBat gives you an error on the right hand side of the screen:

Let's add some code. Remember that you just need to write the body of the function, but you still need to indent. Here's a first try at the problem:

Hmm. I've got one correct and two wrong. Maybe instead of return I should use print?

That's not it. CodingBat problems always want you to use return in your functions. Oh! I see - I typed in first twice, when instead I should have used second:

Great!

I can check this by typing the same function into the command prompt:


What CodingBat is doing is the same as when you write a function in your editor or at the command prompt and run it a few times, like this:

awf$ python
Python 2.6.1 (r261:67515, Aug  2 2010, 20:10:18) 
[GCC 4.2.1 (Apple Inc. build 5646)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> def sumTwoNumbers(first, second):
...    return first + second
... 
>>> sumTwoNumbers(2,3)
5
>>> sumTwoNumbers(5,5)
10
>>> sumTwoNumbers(10,-10)
0

Perfect!