Você está na página 1de 2

Questão 1) Sempre você faz a pergunta mais específica, no caso se é divisível por 3

e ao mesmo tempo divisível por 5. Se você alterar a ordem o código solta Fizz ou
Buzz, quando deveria ser FizzBuzz
def FizzBuzz(n):
if n % 3 == 0 and n% 5 == 0: return "FizzBuzz"
if n % 3 == 0: return "Fizz"
if n % 5 == 0: return "Buzz"
return n

Questão 2)
A estratégia é chutar no meio do intervalo atual (início+fim)//2, até acertar o
número sorteado. Se o número for 42 a sequência será 50 = (1+100)//2 alto -> 25 =
(1+50)//2 baixo -> 37 = (25+50)//2 baixo -> 43 = (37+50)//2 alto -> 40 = (37+43)//2
-> 41 (40+43)//2 baixo -> 42 (41+43)//2 ACERTOU

Questão 3)
Quanto temos menos de dois elementos dá "list index out of range".
def sum2(nums):
if len(nums) == 0: return 0
if len(nums) == 1: return nums[0]
return nums[0] + nums[1]

Questão 4)
def tri_char(s): return ''.join([c+c+c for c in s])
outra solução:
def tri_char(s):
res = ''
for x in s:
res = res + x + x + x
return res

Questão 5)
def inv(frase): return ' '.join(frase.split()[::-1])
outra solução:
def inv(frase):
frase = frase.split() #separa palavras
frase.reverse() #inverte palavras, pode ser frase = frase[::-1]
return ' '.join(frase)#junta as palavras e devolve

Questão 6)
def anagrama(s1, s2): return sorted(s1) == sorted(s2). Anagramas tem as mesmas
letras, em ordens diferentes. Se eu ordenar as duas palavras, a ordem fica igual.

Questão 7)
a0 a1 a2 b0 b1 b2 c0 c1 c2

Questão 8)
Valores de a
Não tem
15
11
0

Questão 9)
X

Questão 10)
['a', 'l']
[1, 3]
['a']

Você também pode gostar