fizzbuzzyo
This commit is contained in:
parent
54bb07c4bc
commit
7a562bb597
@ -63,12 +63,9 @@ Ok, now onto FizzBuzz.
|
|||||||
|
|
||||||
Open the main.js file and find the loop inside the document ready.
|
Open the main.js file and find the loop inside the document ready.
|
||||||
|
|
||||||
Write code that does the following:
|
Write code that does the following:
|
||||||
|
* if i is divisible by 3, append a line that reads "Fizz"
|
||||||
* if i is divisable 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"
|
||||||
* 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.
|
All this should be done as usual, to the printout div.
|
||||||
|
@ -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.
|
Write code that does the following:
|
||||||
|
* if i is divisible by 3, print "Fizz"
|
||||||
To get a slightly different view of it, we could do it this way.
|
* if i is divisible by 5, print "Buzz"
|
||||||
|
* if i is divisible by 3 & 5, print "FizzBuzz"
|
||||||
for(var x = 500; x > 150; x-=5){ console.log(x) }
|
* if i is not divisble by 3 or 5, print i
|
||||||
|
|
||||||
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.
|
|
||||||
|
11
python/3-conditionals-and-for-loops/fizzbuzz.py
Normal file
11
python/3-conditionals-and-for-loops/fizzbuzz.py
Normal file
@ -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)
|
Loading…
x
Reference in New Issue
Block a user