Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- # -*- coding: utf-8 -*-
- """
- Problema: FizzBuzz
- - Sempre que um número for múltiplo de 3, não exibe o número e exibe "Fizz";
- - Sempre que um número for múltiplo de 5, não exibe o número e exibe "Buzz";
- - Sempre que um número contiver 3, não exibe o número e exibe "Fizz";
- - Sempre que um número contiver 5, não exibe o número e exibe "Buzz";
- - Se o número for múltiplo de 3 E 5 ao mesmo tempo, exibe "FizzBuzz";
- """
- import unittest
- def efioubu(n,s):
- num_string = str(n)
- if n % s == 0 or num_string.count(str(s)) > 0:
- return True
- def efizzbuzz(n,f,b):
- if efioubu(n,f) and efioubu(n,b):
- return True
- def fizzbuzz(n):
- fi = 3
- bu = 5
- resultado = str(n)
- if efizzbuzz(n,fi,bu):
- return "FizzBuzz"
- elif efioubu(n,fi):
- return "Fizz"
- elif efioubu(n,bu):
- return "Buzz"
- return resultado
- class testa_fizzbuzz(unittest.TestCase):
- def teste_tres(self):
- self.assertEqual(fizzbuzz(3), "Fizz")
- def teste_quatro(self):
- self.assertEqual(fizzbuzz(4), "4")
- def teste_cinco(self):
- self.assertEqual(fizzbuzz(5), "Buzz")
- def teste_seis(self):
- self.assertEqual(fizzbuzz(6), "Fizz")
- def teste_sete(self):
- self.assertEqual(fizzbuzz(7), "7")
- def teste_treze(self):
- self.assertEqual(fizzbuzz(13),"Fizz")
- def teste_quinze(self):
- self.assertEqual(fizzbuzz(15), "FizzBuzz")
- def teste_vinte_cinco(self):
- self.assertEqual(fizzbuzz(25), "Buzz")
- def teste_vinte_nove(self):
- self.assertEqual(fizzbuzz(29), "29")
- def teste_trinta(self):
- self.assertEqual(fizzbuzz(30), "FizzBuzz")
- def teste_trinta_um(self):
- self.assertEqual(fizzbuzz(31), "Fizz")
- def teste_cinquenta_dois(self):
- self.assertEqual(fizzbuzz(52), "Buzz")
- def teste_cinquenta_tres(self):
- self.assertEqual(fizzbuzz(53), "FizzBuzz")
- def teste_cinquenta_quatro(self):
- self.assertEqual(fizzbuzz(54), "FizzBuzz")
- def teste_cinquenta_cinco(self):
- self.assertEqual(fizzbuzz(55), "Buzz")
- unittest.main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement