diff --git a/javascript/3-conditionals-and-for-loops/README.md b/javascript/3-conditionals-and-for-loops/README.md index c095164..7234386 100644 --- a/javascript/3-conditionals-and-for-loops/README.md +++ b/javascript/3-conditionals-and-for-loops/README.md @@ -63,12 +63,9 @@ Ok, now onto FizzBuzz. Open the main.js file and find the loop inside the document ready. -Write code that does the following: - -* if i is divisable by 3, append a line that reads "Fizz" - -* if i is divisable by 5, append a line that reads "Buzz" - -* if i is divisable by 3 & 5, append a line that reads "FizzBuzz" +Write code that does the following: +* if i is divisible by 3, append a line that reads "Fizz" +* if i is divisible by 5, append a line that reads "Buzz" +* if i is divisible by 3 & 5, append a line that reads "FizzBuzz" All this should be done as usual, to the printout div. diff --git a/python/3-conditionals-and-for-loops/README.md b/python/3-conditionals-and-for-loops/README.md index a484533..1611e1e 100644 --- a/python/3-conditionals-and-for-loops/README.md +++ b/python/3-conditionals-and-for-loops/README.md @@ -1,73 +1,76 @@ -####Conditionals and For Loops +Conditionals and For Loops +========================== -Get ready for FizzBuzz! +Get ready for FizzBuzz, again! -This is a classic programming test - that yes, you will actually see at job interviews. +#### For Loop -It basically just checks if you can write a for loop and if you know what [modulo](http://en.wikipedia.org/wiki/Modulo_operation) is. +For loop syntax in Python is slightly different. +The 'for in' pattern is still available in Python: +``` +>>> for thing in list: +... print(thing) +``` +Python also has what's known as a range: +``` +>>> lst = ['a', 'b', 'c'] +>>> for i in range(len(lst)): +... print(i) +0 +1 +2 +``` +If we wanted to print the element in the list, rather than the index, we could do it like this: +``` +>>> lst = ['a', 'b', 'c'] +>>> for i in range(len(lst)): +... print(lst[i]) +a +b +c +``` +With range, you have the option to choose the start and stop points, as well as increment. +``` +>>> for i in range(2, 10, 2): +... print(i) +2 +4 +6 +8 +``` +As you can see, the end point is not included as part of the range. -###For Loop +Fire up your Python interpreter and try it out. -This is the most basic loop we write in Javascript, and most languages for that matter. The ubiquitous For Loop. +#### Conditionals - Switch - for(var i = 0; i<=100; i++){ console.log(x) } +Switch statements are basically the same in Python. You can write if statements in two ways: +``` +if(some condition): + do something +``` +or +``` +if some condition: + do something +``` +for else clauses, it's also pretty similar. +Here is an example: +``` +if condition: + do something +elif another condition: + do something else +else: + catch all of the other possibilities +``` -In the first argument, we declare an incrementing variable, i, and where it will start. We could have called it anything. +#### FizzBuzz -In the second argument, we state the conditions under which the following code should be executing. In this case, it is while i is less than or equal to 100. +Time for FizzBuzz in Python. -In the third argument, we say that every time the code is run, i should increment by 1. i++ is shorthand, also known as [syntactic sugar](http://en.wikipedia.org/wiki/Syntactic_sugar) for i += 1, or i = i + 1. They all do the same thing. - -To get a slightly different view of it, we could do it this way. - - for(var x = 500; x > 150; x-=5){ console.log(x) } - -Try it in your browser or node console and watch it work. What is the last number it prints? Why? - -###Conditionals - If / Else - -The most simple conditional statement is the if statement. This is also ubiquitous across many programming languages. - -Basically it is written like this: - -if(some condition){ - do this -} - -You can make it more powerful by specifying an else. This is a catch all for things to do if the first condition isnt met. For example: - -if(cute store clerk has brown hair){ - give phone number -} else { - leave store -} - -Finally, we can specify multiple outcomes using an else if. - -if(cute clerk has brown hair){ - give phone number -} elseif(cute clerk has blond hair) { - get phone number -} else { - buy playstation -} - -Instead of this plain english example, also known as [Pseudocode](http://en.wikipedia.org/wiki/Pseudocode) - -Get the idea? - -###Fizzbuzz - -Ok, now onto FizzBuzz. - -Open the main.js file and find the loop inside the document ready. - -Write code that does the following: - -if i is divisable by 3, append a line that reads "Fizz" - -if i is divisable by 5, append a line that reads "Buzz" - -if i is divisable by 3 & 5, append a line that reads "FizzBuzz" - -All this should be done as usual, to the printout div. \ No newline at end of file +Write code that does the following: +* if i is divisible by 3, print "Fizz" +* if i is divisible by 5, print "Buzz" +* if i is divisible by 3 & 5, print "FizzBuzz" +* if i is not divisble by 3 or 5, print i diff --git a/python/3-conditionals-and-for-loops/fizzbuzz.py b/python/3-conditionals-and-for-loops/fizzbuzz.py new file mode 100644 index 0000000..7dd68d0 --- /dev/null +++ b/python/3-conditionals-and-for-loops/fizzbuzz.py @@ -0,0 +1,11 @@ +def fizzbizz(num): + + + +def assertion(actual, expected): + print(str(actual) + " == " + str(expected) + " : " + str(actual==expected)) + +assertion(fizzbuzz(33), "Fizz") +assertion(fizzbuzz(20), "Buzz") +assertion(fizzbuzz(30), "FizzBuzz") +assertion(fizzbuzz(32), 32)