Advertisement
fmasanori

Lista 05

Oct 14th, 2011
427
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.09 KB | None | 0 0
  1. #!/usr/bin/python -tt
  2. # Copyright 2010 Google Inc.
  3. # Licensed under the Apache License, Version 2.0
  4. # http://www.apache.org/licenses/LICENSE-2.0
  5.  
  6. # Google's Python Class
  7. # http://code.google.com/edu/languages/google-python-class/
  8. # Exercícios básicos com strings
  9.  
  10. # A. donuts
  11. # Para um inteiro n retorna uma string na forma 'Número de donuts: <n>'
  12. # onde n é o valor passado como argumento.
  13. # Caso n >= 10 devo retornar 'muitos' em lugar do número.
  14. # donuts(5) returns 'Número de donuts: 5'
  15. # donuts(23) returns 'Número de donuts: muitos'
  16. def donuts(n):
  17.   return
  18.  
  19. # B. pontas
  20. # Dada uma string s, retorna uma string com as duas primeiras e as duas
  21. # últimas letras da string original s
  22. # Assim 'palmeiras' retorna 'paas'
  23. # No entanto, se a string tiver menos que 2 letras, retorna uma string vazia
  24. def pontas(s):
  25.   return
  26.  
  27. # C. fixa_primeiro
  28. # Dada uma string s, retorna uma string onde todas as ocorrências
  29. # do primeiro caracter são trocados por '*', exceto para o primeiro
  30. # Assim 'abacate' retorna 'ab*c*te'
  31. # Dica: use s.replace(stra, strb)
  32. def fixa_primeiro(s):
  33.   return
  34.  
  35. # D. mistura2
  36. # Sejam duas strings a e b
  37. # Retorno uma string '<a> <b>' separada por um espaço
  38. # com as duas letras trocadas de cada string
  39. #   'mix', pod' -> 'pox mid'
  40. #   'dog', 'dinner' -> 'dig donner'
  41. def mistura2(a, b):
  42.   return
  43.  
  44. # E. palindrome
  45. # Verifique se uma string é palíndrome
  46. #   palindrome('asa') True
  47. #   palindrome('casa') False
  48. def palindrome(s):
  49.   return
  50.  
  51. # F. busca
  52. # Verifique quantas ocorrências de uma palavra há numa frase
  53. # frase = 'ana e mariana gostam de banana'
  54. # palavra = 'ana'
  55. # busca ('ana e mariana gostam de banana', 'ana') == 4
  56. def busca(frase, palavra):
  57.   return
  58.  
  59. # Provided simple test() function used in main() to print
  60. # what each function returns vs. what it's supposed to return.
  61. def test(obtido, esperado):
  62.   if obtido == esperado:
  63.     prefixo = ' Parabéns!'
  64.   else:
  65.     prefixo = ' Ainda não'
  66.   print ('%s obtido: %s esperado: %s'
  67.          % (prefixo, repr(obtido), repr(esperado)))
  68.  
  69. def main():
  70.   print ('donuts')
  71.   test(donuts(4), 'Número de donuts: 4')
  72.   test(donuts(9), 'Número de donuts: 9')
  73.   test(donuts(10), 'Número de donuts: muitos')
  74.   test(donuts(99), 'Número de donuts: muitos')
  75.  
  76.   print ()
  77.   print ('pontas')
  78.   test(pontas('palmeiras'), 'paas')
  79.   test(pontas('algoritmos'), 'alos')
  80.   test(pontas('a'), '')
  81.   test(pontas('xyz'), 'xyyz')
  82.  
  83.   print ()
  84.   print ('fixa_primeiro')
  85.   test(fixa_primeiro('babble'), 'ba**le')
  86.   test(fixa_primeiro('aardvark'), 'a*rdv*rk')
  87.   test(fixa_primeiro('google'), 'goo*le')
  88.   test(fixa_primeiro('donut'), 'donut')
  89.  
  90.   print ()
  91.   print ('mistura2')
  92.   test(mistura2('mix', 'pod'), 'pox mid')
  93.   test(mistura2('dog', 'dinner'), 'dig donner')
  94.   test(mistura2('gnash', 'sport'), 'spash gnort')
  95.   test(mistura2('pezzy', 'firm'), 'fizzy perm')
  96.  
  97.   print ()
  98.   print ('palindrome')
  99.   test(palindrome('asa'), True)
  100.   test(palindrome('casa'), False)
  101.  
  102.   print ()
  103.   print ('busca')
  104.   test(busca('ana e mariana gostam de banana', 'ana'), 4)
  105.  
  106. if __name__ == '__main__':
  107.   main()
  108.  
  109.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement