Commits

Danilo Cabello committed fe9fdb9

Adicionando fizzbuzz realizado durante o seminário sobre software livre.

Comments (0)

Files changed (2)

2010_08_11_fizzbuzz/README

+Fizzbuzz
+========
+
+Fizzbuzz é uma brincadeira de criança, um jogo pra ser realizado em uma roda, uma criança começa falando o número 1, a próxima 2, a próxima "fizz", a próxima 4, a próxima "buzz", quem errar saí da roda e recomeça a brincadeira.
+
+O objetivo é fazer um jogador de Fizzbuzz que dado o número sabe o que tem falar, as regras da brincadeira são:
+
+- Se o número for divísivel por 15 tem que falar "fizzbuzz"
+- Se o número for divísivel por 5 tem que falar "buzz"
+- Se o número for divísivel por 3 tem que falar "fizz"
+- Caso contrário fala o número da vez

2010_08_11_fizzbuzz/fizzbuzz.py

+import unittest
+
+def fizzbuzz(numero):
+    if numero == 0:
+        return str(0)
+    elif not numero % 15:
+        return "fizzbuzz"
+    elif not numero % 5:
+        return "buzz"
+    elif not numero % 3:
+        return "fizz"
+    else:
+        return str(numero)
+
+class FizzBuzzTest(unittest.TestCase):
+    def testaSeNumeroRetornoNumero(self):
+        self.assertEquals(fizzbuzz(4), "4")
+        
+    def testaSeMultiploTresRetornoFizz(self):
+        self.assertEquals(fizzbuzz(3), "fizz")
+        self.assertEquals(fizzbuzz(9), "fizz")
+    
+    def testaSeMultiploCincoRetornoBuzz(self):
+        self.assertEquals(fizzbuzz(5), "buzz")
+    
+    def testaSeMultiploTresECincoRetornoFizzBuzz(self):
+        self.assertEquals(fizzbuzz(15), "fizzbuzz")
+        
+    def testaSeZeroRetornoZero(self):
+        self.assertEquals(fizzbuzz(0), "0")
+    
+if __name__ == "__main__":
+    unittest.main()