Buscar

lista_exercicios

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.

Continue navegando