-
Notifications
You must be signed in to change notification settings - Fork 76
/
Lista 14 Google Python Class Resolução.py
45 lines (38 loc) · 1.44 KB
/
Lista 14 Google Python Class Resolução.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#!/usr/bin/python -tt
# Copyright 2010 Google Inc.
# Licensed under the Apache License, Version 2.0
# http://www.apache.org/licenses/LICENSE-2.0
# Google's Python Class
# http://code.google.com/edu/languages/google-python-class/
# Exercícios extras para listas
# D. Dada uma lista de números retorna uma lista sem os elementos repetidos
def remove_iguais(nums):
return list(set(nums))
# E. Cripto desafio!!
# Dada uma frase, você deve retirar todas as letras repetidas das palavras
# e ordenar as letras que sobraram
# Exemplo: 'ana e mariana gostam de banana' vira 'an e aimnr agmost de abn'
# Dicas: tente transformar cada palavra em um conjunto, depois tente sortear
# as letras e montar uma string com o resultado.
# Utilize listas auxiliares se facilitar
def cripto(frase):
return ' '.join([''.join(sorted(set(p))) for p in frase.split()])
def test(obtido, esperado):
if obtido == esperado:
prefixo = ' Parabéns!'
else:
prefixo = ' Ainda não'
print ('%s obtido: %s esperado: %s' % (prefixo, repr(obtido), repr(esperado)))
def main():
print ('remove_iguais')
test(remove_iguais([2, 2, 1, 3]), [1, 2, 3])
test(remove_iguais([2, 2, 3, 2, 3]), [2, 3])
test(remove_iguais([]), [])
print ()
print ('cripto')
test(cripto('ana e mariana gostam de banana'),
'an e aimnr agmost de abn')
test(cripto('Batatinha quando nasce esparrama pelo chão'),
'Bahint adnoqu acens aemprs elop choã')
if __name__ == '__main__':
main()