Baixe o app para aproveitar ainda mais
Prévia do material em texto
FONTE DOS EXERCÍCIOS: a maior parte dos exercícios a seguir foi retirada de: https://panda.ime.usp.br/pensepy/static/pensepy/index.html https://developers.google.com/edu/python/ EXERCÍCIOS LISTAS 1 - Crie uma lista chamada minha_lista com os seguinte items: 76, 92.3, “oi”, True, 4, 76. 2 - Considerando a lista do exercício anterior, escreva comandos para: a) Inserir “laranja” e 76 no final da lista. b) Inserir “gato” na posição de índice 3. c) Inserir 99 no início da lista. d) Encontrar o índice de “oi”. e) Contar o número de ocorrências de 76 na lista. f) Remover a primeira ocorrência de 76 da lista. g) Remover True da lista usando pop e index. 3 - Escreva uma função calcula_maximo que receba como entrada uma lista de números inteiros e retorne o maior valor na lista. Por exemplo, calcula_maximo([4,3,6,1,2]) deve retornar 6. (Observação: existe a função max que faz isso, mas você não deve usá-la.) 4 - Escreva uma função soma_quadrados que receba uma lista de números e retorne a soma dos quadrados dos números na lista. Por exemplo, soma_dos_quadrados([2, 3, 4]) deve retorna 4+9+16 que é 29. 5 - Escreva uma função soma_impares que receba uma lista de números inteiros e retorne a soma dos números ímpares na lista. Por exemplo, soma_impares([11,20,36,41,55,6]) deve retornar 107. 6 - Escreva uma função quantidade_negativos que receba uma lista de números inteiros e retorne a quantidade de números negativos na lista. Por exemplo, quantidade_negativos([1,2,3,4,5,6]) deve retornar 4. 7 - Escreva uma função quatidade_palavras_5 que receba uma lista de palavras e retorne o número de palavras na lista que tenham comprimento 5. Por exemplo, quatidade_palavras_5(['Brasil','peralta','mesa','lance','teste']) deve retornar 2. 8 - Escreva uma função soma_par que receba uma lista de números inteiros e retorne a soma dos números na lista, excluindo o primeiro número par. Por exemplo, soma_par([12,20,13,84,15,6]) deve retornar 20+84+6 = 110. 9 - Escreva uma função quantidade_palavras_fim que recebe uma lista de palavras e retorna o número de palavras que ocorre na lista até e inclusive a primeira ocorrência da palavra “fim”. Por exemplo, quantidade_palavras_fim(['Brasil', 'peralta', https://panda.ime.usp.br/pensepy/static/pensepy/index.html https://developers.google.com/edu/python/ cliente-pc Realce cliente-pc Realce cliente-pc Realce cliente-pc Realce cliente-pc Realce cliente-pc Realce cliente-pc Realce cliente-pc Realce cliente-pc Realce 'mesa', 'fim', 'lance', 'teste', 'fim', 'gato']) deve retornar 4. 10 - Escreva um função imprime_letras que receba uma lista de palavras como entrada e imprima todas as letras da lista. Por exemplo, imprime_letras([“pera”, “laranja”, “uva”]) deve imprimir 'p,e,r,a,l,a,r,a,n,j,a,u,v,a '. 11 - Apesar de Python fornecer uma grande lista de métodos nativos, é uma boa prática e instrutivo pensar sobre como elas podem ser implementadas. Implemente uma função que se comporte como: a) count b) in c) reverse d) index e) insert 12 – Escreva uma função palavras_inicio_fim_iguais que receba como entrada uma lista de palavras e retorne a quantidade de palavras da lista que possuem 2 ou mais caracteres e cujos primeiro e últimos caracteres sejam iguais. Por exemplo, palavras_inicio_fim_iguais(['aba', 'xyz', 'aa', 'x', 'bbb']) 13 – Escreva uma função x_na_frente que receba como entrada uma lista de palavras e retorne uma lista ordenada com as palavras da lista de entrada, considerando que as palavras que começam com 'x' devam vir antes. Por exemplo, x_na_frente(['bbb', 'ccc', 'axx', 'xzz', 'xaa']) deve retornar ['xaa', 'xzz', 'axx', 'bbb', 'ccc']. Dica: ordene as palavras com 'x' em uma lista e as demais em outra lista e depois concatene. 14 – Escreva uma função ordenar_ultimo que receba como entrada uma lista de tuplas não vazias e retorne uma lista ordenada com as tuplas, segundo o último elemento de cada tupla. Por exemplo, ordena_ultimo([(1, 7), (1, 3), (3, 4, 5), (2, 2)]) deve retornar [(2, 2), (1, 3), (3, 4, 5), (1, 7)]. Dica: Utilize ordenação personalizada usando key. cliente-pc Realce cliente-pc Realce STRINGS 1 - Escreva uma função troca que receba três strings str, velho e novo e troca em str todas as ocorrências de velho por novo. Por exemplo, troca('Um aluno, dois alunos, tres alunos.','aluno','estudante') deve retornar a string 'Um estudante, dois estudante, tres estudantes.'. Observação: existe a função replace que faz isso, mas você não deve usá- la. (Dica: use os métodos split e join). 2 – Escreva uma função remove_pontuacao que receba como entrada uma string e retorne outra string com os caracteres da primeira sem os sinais de pontuação. Por exemplo, remove_pontuacao('Hoje eh dia de sol! Voce quer ir a praia, Emanuel?') deve retornar a string 'Hoje eh dia de sol Voce quer ir a praia Emanuel'. 3 – Escreva uma função informacoes_string que receba como entrada uma string e imprima na tela uma mensagem da seguinte forma, contendo informações sobre a string: O texto contem 243 palavras, das quais 109 (44.8%) contem um 'e'. Por exemplo, informacoes_string('Uma string eh uma colecao ordenada de zero ou mais letras, numeros e outros simbolos.') deve imprimir na tela “O texto contém 15 palavras, das quais 8 (0.53%) contem um 'e'.” 4 - Escreva uma função numero_digitos que receba como entrada um número inteiro e retorne o número de dígitos desse inteiro. Por exemplo numero_digitos(5237) deve retornar 4. 5 - Escreva uma função remove_ocorrencias que receba como entrada uma string e uma letra e retorne uma string na qual todas as ocorrências da letra na string de entrada são removidas. Por exemplo, remove_ocorrencias('algoritmos e estrutura de dados','a') deverá retornar a string 'lgoritmos e estrutur de ddos'. 6 - Escreva uma função eh_palindroma que recebe como entrada uma string e retorna um valor booleano indicando se a string é palíndroma ou não. Por exemplo, eh_palindroma('arara') deve retorna True. (Dica: use a função reverse). 7 - Escreva uma função quantidade_string que recebe como entrada duas strings e retorne a quantidade de vezes que a primeia string ocorre na segunda. Por exemplo, quantidade_string('aluno','Um aluno, dois alunos, tres alunos.') deve retornar 3. (Dica: use a função find). 8 - Qual o resultado de cada um dos comandos seguintes: 1.'Python'[1] 2.'Strings são sequências de caracteres.'[5] 3.len('maravilhoso') 4.'Misterio'[:4] 5.'p' in 'Pineapple 6.'apple' in 'Pineapple 7.'pear' not in 'Pineapple 8.'apple' > 'pineapple' 9. 'pineapple' < 'Peach' 9 - No livro Make Way for Ducklings de Robert McCloskey, os patinhos são chamados de Jack, Kack, Lack, Mack, Nack, Ouack, Pack, e Quack. Esse laço tenta imprimir esses nomes ordenadamente. prefixes = "JKLMNOPQ" suffix = "ack" for p in prefixes: print(p + suffix) É claro que esse programa tem problemas pois Ouack e Quack não são escritos corretamente. Você consegue consertar o programa? 10 - Escreva uma função interseccao que receba duas strings como entrada e retorne uma nova string contendo os caracteres comuns às duas strings de entrada. Por exemplo, interseccao('escolas','estudantes') deve retornar 'esa'. 11 – Escreva uma função nao_eh_ruim que receba como entrada uma string e encontre as primeiras ocorrências de 'nao eh' e de 'ruim'. Se 'nao' vier antes de 'ruim', deve-se substituir a expressão 'nao eh...ruim' por 'eh bom', retornando a nova string. Por exemplo, nao_eh_ruim('Figado nao eh tao ruim') deve retornar 'Figado eh bom'. DICIONÁRIOS 1 - Escreva um programa que leia uma string do teclado e retorne uma tabela com a frequência com que cada letra aparece na string, em ordem alfabética. Ignore se as letras são maiúsculas ou minúsculas. Um exemplo de execução do programa ficaria assim: "ThiS is String with Upper and lower case Letters." a 2 c 1 d 1 e 5 g1 h 2 i 4 l 2 n 2 o 1 p 2 r 4 s 5 t 5 u 1 w 2 2 - Forneça a resposta do interpretador Python para cada uma das questões seguintes, assumindo que os comandos são dados continuamente na mesma sessão: >>> d = {'apples': 15, 'bananas': 35, 'grapes': 12} d['banana'] d['oranges'] = 20 len(d) 'grapes' in d d['pears'] d.get('pears', 0) fruits = d.keys() fruits.sort() print(fruits) del d['apples'] 'apples' in d Certifique-se de que você entendeu a razão de cada resultado. Então aplique o que você aprendeu para preencher o corpo da função abaixo: def add_fruit(inventory, fruit, quantity): # faça esses testes funcionarem... new_inventory = {} add_fruit(new_inventory, 'strawberries', 10) test('strawberries' in new_inventory, True) test(new_inventory['strawberries'], 10) add_fruit(new_inventory, 'strawberries', 25) test(new_inventory['strawberries'] , 35) 3 - A seguinte tabela contém tradução de algumas palavras em português para a língua dos piratas Português Pirata senhor matey hotel fleabag inn estudante swabbie garoto matey madame proud beauty professor foul blaggart restaurante galley seu yer com licença arr estudantes swabbies são be advogado foul blaggart o th’ banheiro head meu me oi avast é be homem matey Escreva um programa que pede que o usuário digite uma frase em português e imprima a tradução da frase para a língua dos piratas.
Compartilhar