Buscar

Lista de python

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

INF1025 2017.1 
Ciclo Básico do Centro Técnico Científico (CB-CTC) 
E-mail: coordprog@inf.puc-rio.br 
URL: www.inf.puc-rio.br/~inf1025 
 
 
1 
 
Lista de Exercícios 12 
Listas em Python – exercícios iniciais 
 
1. Crie uma função que recebe uma lista de números e 
a. retorne o maior elemento 
b. retorne a soma dos elementos 
c. retorne o número de ocorrências do primeiro elemento da lista 
d. retorne a média dos elementos 
e. retorne o valor mais próximo da média dos elementos 
f. retorne a soma dos elementos com valor negativo 
g. retorne a quantidade de vizinhos iguais 
 
DESAFIO: exiba todas as sublistas de 2 elementos possíveis 
 
2. Crie uma função que recebe uma lista qualquer e 
a. retorne o maior elemento 
b. retorne a soma dos elementos 
c. retorne o número de ocorrências do primeiro elemento da lista 
d. retorne a média dos elementos 
e. retorne o valor mais próximo da média dos elementos 
f. retorne a soma dos elementos com valor negativo 
g. retorne a quantidade de vizinhos iguais 
 
DESAFIO: exiba todas as sublistas de 2 elementos possíveis 
 
3. a) Faça uma função que receba duas listas e retorne True se são iguais ou False caso contrário. 
 
Duas listas são iguais se possuem os mesmos valores e na mesma ordem. 
 
b) Faça uma função que receba duas listas e retorne True se têm os mesmos elementos ou False 
caso contrário 
 
Duas listas possuem os mesmos elementos quando são compostas pelos mesmos valores, mas não 
obrigatoriamente na mesma ordem. 
 
4. Crie uma função que recebe uma lista de strings e 
a. retorne o elemento com mais caracteres 
b. retorne a média de vogais nos elementos (nº de vogais de cada elemento/nº de 
elementos) 
c. retorne o número de ocorrências do primeiro elemento da lista 
d. retorne a palavra lexicograficamente maior 
e. conte o número de ocorrências de palavras compostas 
f. retorne a quantidade de vizinhos iguais 
 
DESAFIO: exiba todas as sublistas de 2 elementos possíveis 
 
 INF1025 2017.1 
Ciclo Básico do Centro Técnico Científico (CB-CTC) 
E-mail: coordprog@inf.puc-rio.br 
URL: www.inf.puc-rio.br/~inf1025 
 
 
2 
 
 
5. Crie uma função que recebe uma lista cujos elementos são strings ou listas de strings e 
a. retorne o elemento com mais caracteres 
b. retorne a média de vogais nos elementos 
(nº de vogais de cada elemento/nº de elementos) 
c. retorne o número de ocorrências do primeiro elemento da lista 
d. retorne a palavra lexicograficamente maior 
e. conte o número de ocorrências de palavras compostas 
f. retorne a quantidade de vizinhos iguais 
 
DESAFIO: exiba todas as sublistas de 2 elementos possíveis 
 
6. Duas amigas estabeleceram o código abaixo para que suas mensagens não fossem lidas pelas 
demais pessoas. 
 
0 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 
' ' a b c d e f g h i j k l m n o p q r s t u v w x y z 
 
Observe que cada letra equivale a um número entre 1 e 26 e o espaço ao 0. 
 
Faça a função "traduzir", que recebe uma lista com uma mensagem (lSecreta) e "traduz" a sequência 
armazenada em lSecreta de acordo com o código das amigas. 
 
Teste para lSecreta = [2,15,13,0,4,9,1]; 
 
DICA: crie uma string com as letras na ordem do código 
 
7. Faça um programa que percorre uma lista com o seguinte formato: [['Brasil', 'Italia', [10, 9]], 
['Brasil', 'Espanha', [5, 7]], ['Italia', 'Espanha', [7,8]]]. Essa lista indica o número de faltas que cada time fez 
em cada jogo. Na lista acima, no jogo entre Brasil e Itália, o Brasil fez 10 faltas e a Itália fez 9. 
 
O programa deve imprimir na tela: 
a) o total de faltas do campeonato 
b) o time que fez mais faltas 
c) o time que fez menos faltas 
 
8. Faça um programa que percorre uma lista e exiba na tela o valor mais próximo da média dos valores 
da lista. 
 Exemplo: 
 lista = [2.5, 7.5, 10.0, 4.0] (média = 6.0) 
 Valor mais próximo da média = 7.5 
 
 
 INF1025 2017.1 
Ciclo Básico do Centro Técnico Científico (CB-CTC) 
E-mail: coordprog@inf.puc-rio.br 
URL: www.inf.puc-rio.br/~inf1025 
 
 
3 
 
 
9. Foram anotadas as idades e alturas dos alunos de uma turma e armazenados em uma lista cujos 
elementos são sublistas com dois elementos: o primeiro é a idade do aluno e o segundo a sua altura. Faça 
uma função que receba esta lista e utilizando as funções abaixo, determina e mostra quantos alunos com 
mais de 13 anos possuem altura inferior à média de altura desses alunos. 
 
a) Faça a função MediaTurma (lista) que recebe a lista com idade e altura de cada um dos aluno e retorna a 
média de altura da turma 
b) Faça a função Conta_Baixinhos (lista, media), que recebe a lista com idade e altura de cada um dos alunos e a 
média de altura da turma, retornando quantos alunos com mais de 13 anos estão abaixo da média de altura da 
turma 
 
10. O Zodíaco chinês é composto por animais com ciclo de 12 anos. Uma maneira simplificada de 
identificá-lo é verificando-se apenas o ano de seu nascimento do seguinte modo: 
 
ano do nascimento % 12 Signo 
0 Macaco 
1 Galo 
2 Cão 
3 Porco 
4 Rato 
5 Boi 
6 Tigre 
7 Coelho 
8 Dragão 
9 Serpente 
10 Cavalo 
11 Carneiro 
 
a) Crie uma lista com os signos 
b) Crie uma lista com a data de aniversário dos membros de sua família 
c) Faça uma função que, usando as listas criadas nos itens a e b, mostre o signo de cada membro de 
sua família 
 
11. Faça uma função que receba uma lista qualquer e retorne True se ela está ordenada ou False, caso 
contrário. Lembre-se que não é possível comparar elementos de tipos distintos. Caso o elemento seja uma 
sublista, a sublista deve ser verificada. 
 
12. Faça uma função que receba uma lista lNumeros e um valor, exiba a posição da 1ª ocorrência de 
valor em l. Caso o valor não pertença à lista, a função deve retornar -1 e caso a lista esteja vazia, a função 
deve retornar -2 
a. considere que os elementos da lista são números 
b. considere que os elementos da lista são números ou listas de números 
 
 
 INF1025 2017.1 
Ciclo Básico do Centro Técnico Científico (CB-CTC) 
E-mail: coordprog@inf.puc-rio.br 
URL: www.inf.puc-rio.br/~inf1025 
 
 
4 
 
13. Faça uma função que: 
a. receba duas listas e exiba a união destas listas 
b. receba duas listas e exiba a interseção destas listas 
c. receba duas listas e exiba a intercalação destas listas, isto é, 1º da 1ª lista, 1º da 2ª lista, 2º 
da 1ª lista, 2º da 2ª lista... 
 
14. Faça uma função que receba o resultado da última megasena e uma lista onde cada elemento é 
composto pelo CPF de um jogador e sua aposta. Esta função deve exibir o CPF dos jogadores que 
ganharam a megasena. 
 
15. Os alunos de uma turma foram muito mal em uma prova. O professor resolveu, então considerar a 
maior nota como o 10.0 e transformar as demais notas em relação a esta nota da seguinte maneira: 
nota do aluno * 10/ maior nota. 
Faça uma função que receba a lista de notas dos alunos, calcule a nova nota dos alunos mostrando as 
notas antigas e as novas na tela. 
 
Exemplo: Notas originais: 3.0 4.0 5.0 6.0 3.0 
 
maior nota: 6.0 
 
 Saída: 1 3.0 5.0 (3*10)/6 
 2 4.0 6.6 
3 5.0 8.3 
4 6.0 10.0 
5 3.0 5.0 
 
16. O dia e horário de matrícula dos calouros da PUC depende do curso desejado. Faça uma função que 
receba duas listas, descritas abaixo: 
1. lista de cursos: cada elemento é uma sublista com três elementos: o primeiro é o nome do 
curso, o segundo a data de matrícula e o terceiro elemento é o número de aprovados no curso. 
2. lista de aprovados: cada elemento é uma sublista com três elementos: o primeiro é o nome do 
aluno, o segundo é o nome do curso e o terceiro elemento é sua colocação no vestibular 
 
Esta função deve exibir para cada aluno, seu nome, seu curso,dia e horário de matrícula e horário. Os 
alunos são divididos em 4 grupos de acordo com sua colocação no curso. O 1º grupo é composto pelos 
melhores colocados (1/4 do total de vagas), o 2º grupo pelos seguintes melhores colocados (1/4 seguinte 
do total de vagas) e, assim, sucessivamente. 
 
Por exemplo: um curso com 100 vagas, do 1º ao 25º colocado pertence ao grupo 1, do 26º ao 50º 
colocado, pertencem ao grupo 2, o 51º ao 75º colocados pertencem ao grupo 3 e do76º ao 100º colocados 
pertencem ao grupo 4. 
 
Há 4 horários possíveis: 
1º horário - 8h às 11:30h: 
2º horário: 12h às 13:30h 
3º horário: 14h às 15:30h 
4º horário: 16h às 17:30h 
 
 
 INF1025 2017.1 
Ciclo Básico do Centro Técnico Científico (CB-CTC) 
E-mail: coordprog@inf.puc-rio.br 
URL: www.inf.puc-rio.br/~inf1025 
 
 
5 
 
17. Faça uma função que receba uma lista de números armazenados de forma crescente , e dois 
valores ( limite inferior e limite superior), e exiba a sublista cujos elementos são maiores ou iguais ao 
limite inferior e menores ou iguais ao limite superior 
 
Exemplo: lista inicial=[12,14,15,16,18,20,24,26,28,32,34,38] 
 limite inferior=13 
 limite superior = 26 
 lista exibida: [14,15,16,18,20,24,26] 
 
18. Faça uma função que receba uma lista e exiba os elementos da última metade na frente dos 
elementos da primeira metade. 
 
19. Faça um programa que implemente um jogo de tradução. Há uma lista onde cada elemento é uma 
sublista com duas palavras em línguas diferentes. Uma determinada palavra na língua 1 é o primeiro 
elemento da sublista e tem sua tradução na língua 2, na 2ª posição. O jogo possui 5 rodadas. 
 
Cada rodada consiste em: 
a) o jogador escolhe a palavra e o idioma desejado. Portanto, informa a posição n (1 a 10), da 
palavra desejada e um caractere (I ou P), indicando em qual idioma a n-ésima palavra deve 
ser exibida. 
b) o programa mostra a palavra escolhida no idioma escolhido 
c) o jogador fornece a tradução da palavra escolhida. 
d) O programa informa se o usuário acertou ou não a tradução. 
 
Após as 5 rodadas o programa deve mostrar ao jogador: 
 seus pontos, 
 o resumo de seu jogo, isto é, para cada palavra da lista de escolhidas: palavra em português, 
palavra em inglês e se acertou ou não a tradução 
 
Obs: a mesma palavra não pode ser usada mais de uma vez. 
 
DICA: crie uma lista com 10 elementos para marcar os que já saíram. Inicialize-a com 0s. A cada rodada, 
marque -1 se o jogador errou a palavra ou +1 se acertou 
 
 Para evitar a entrada de dados das listas enquanto você está testando seu programa, crie uma lista 
constante onde cada elemento é uma sublista com as palavras do jogo. 
 
 
 INF1025 2017.1 
Ciclo Básico do Centro Técnico Científico (CB-CTC) 
E-mail: coordprog@inf.puc-rio.br 
URL: www.inf.puc-rio.br/~inf1025 
 
 
6 
 
 
20. A teoria do biorritmo indica que há três ciclos em sua vida que se iniciam no dia em que você 
nasceu: 
 1 - O ciclo Físico - 23 dias de duração 
 2 - O ciclo Emocional - 28 dias de duração 
 3 - O ciclo Intelectual - 33 dias de duração 
 4 – O ciclo Intuitivo (' T'): Habilidade para resolver e analisar eventos sem o uso primordial do 
pensamento analítico ou analógico. O período do ciclo intuitivo é de 38 dias. 
 
Supõe-se que a primeira metade de cada ciclo contenha seus "dias positivos”, enquanto que a segunda os 
"dias negativos". As amplitudes desses ciclos de biorritmo em um dado dia podem ser expressas como um 
valor entre -1 e 1 usando a seguinte equação: 
 a = sin ( 2*PI* no. de dias desde o nascimento / no. de dias do ciclo) 
a) Faça uma função, utilizando as funções abaixo (do item c ao item e), que receba sua data de 
nascimento e uma lista DisciplinaeProvas onde o primeiro elemento é o código de uma de suas 
disciplinas e o segundo elemento é uma lista com as datas das provas desta disciplina. Esta função 
deve mostrar o valor dos ciclos nas datas de cada uma de suas provas. 
Caso alguns dos ciclos esteja em um período crítico ou negativo envie uma mensagem de alerta. 
Dica: calcule a quantidade de dias entre elas pela subtração das datas convertidas para o formato 
juliano, 
b) Modifique a função do item a) para que receba sua data de nascimento e uma lista de 
DisciplinaeProvas onde cada elemento desta lista armazena o código e as datas de provas de cada 
disciplina que você está cursando neste semestre 
c) faça uma função CalculaCiclo que recebe o nº de dias entre as datas e o número de dias do 
ciclo (amplitude do ciclo) e retorna um valor entre -1 e 1 de acordo com a fórmula: a = sin ( 2*PI* 
no. de dias desde o nascimento / no. de dias do ciclo) 
d) faça uma função MostraCicloseMensagem, que recebe os valores dos três ciclos exibindo-os 
multiplicado por 100. Caso um dos ciclos esteja numa fase crítica (valor == 0) ou negativa (valor < 0), 
esta função deve, também, enviar uma mensagem de alerta. 
e) faça uma função que receba uma data e retorne- a no formato juliano. 
 
Datas julianas são expressas em números de dias em relação a 04/10/1582 (por ex., 2447187,5 ou 
2436115,5) e possibilita ver os dias decorridos entre duas datas pela operação de subtração. 
 
A fórmula para conversão de qualquer data em Dia Juliano a partir de 04/10/1582 é a seguinte: 
Se o Mês for menor do que 3, faça Ano=Ano-1 e Mês=Mês+12 
A = o inteiro de (Ano ÷ 100) 
B = o inteiro de (A ÷ 4) 
C = 2 - A + B 
D = o inteiro de (365,25 x (Ano + 4716)) 
E = o inteiro de (30,6001 x (Mês + 1)) 
O Dia Juliano será = D + E + Dia + 0,5 + C - 1524,5 
 
Exemplo para teste: dt aniversário: 1 12 1998 dt prova: 18 04 2015 
 valores dos ciclos: E: -76% F: 49% I: 99% 
 
 INF1025 2017.1 
Ciclo Básico do Centro Técnico Científico (CB-CTC) 
E-mail: coordprog@inf.puc-rio.br 
URL: www.inf.puc-rio.br/~inf1025 
 
 
7 
 
 
21. Sabe-se o seguinte sobre os ingredientes que compõem os pratos de um restaurante: 
 
 Nome 
 Peso da porção (em gramas) 
 Preço do Kg. 
 
a. Crie uma lista de ingredientes onde cada elemento armazena o nome do ingrediente, peso 
da porção (em g) e o preço do Kg 
b. crie uma lista de Pratos de um restaurante onde cada elemento armazena o nome do prato 
e uma lista de ingrediente com nome dos ingredientes que o prato utiliza e quantidade de 
porções necessárias para prepará-lo 
c. crie uma lista com a quantidade semanal vendida de cada prato 
d. Faça um programa que, utilizando as listas criadas nos itens a, b e c, mostre 
i. o custo de cada prato e a quantidade que deverá ser comprada de cada ingrediente 
para sua produção semanal 
ii. a quantidade que deverá ser comprada de cada ingrediente para produzir todos os 
pratos por uma semana 
iii. o prato mais caro 
 
Exemplo Lista de Ingredientes: 
 Arroz 100 5.00 
 Carne 100 16.00 
 Batata Inglesa 250 3.50 
 Cenoura 100 3.00 
 Queijo Minas 150 12.00 
 
LPratos: 
Muito Escondidinho Batata Inglesa 3 Queijo Minas 1 Cenoura 1 
Pastelão de Vento Batata Inglesa 4 Carne 1 
 
L Consumo: Muito Escondidinho 12 Pastelão de Vento 30

Outros materiais