0% acharam este documento útil (0 voto)
2 visualizações5 páginas

Revis Ão Python

O documento apresenta uma atividade de Python com 10 exercícios, abordando listas, conjuntos e dicionários. Cada exercício inclui a descrição da tarefa, o código correspondente, entradas utilizadas e saídas esperadas. Os tópicos incluem separação de números pares e ímpares, remoção de negativos, cálculo de médias, operações com conjuntos, cadastro de pessoas e validação de e-mails.

Enviado por

anaquin2905
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
2 visualizações5 páginas

Revis Ão Python

O documento apresenta uma atividade de Python com 10 exercícios, abordando listas, conjuntos e dicionários. Cada exercício inclui a descrição da tarefa, o código correspondente, entradas utilizadas e saídas esperadas. Os tópicos incluem separação de números pares e ímpares, remoção de negativos, cálculo de médias, operações com conjuntos, cadastro de pessoas e validação de e-mails.

Enviado por

anaquin2905
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Atividade de Python — Listas, Conjuntos e Dicionários

Aluno: Henry Gabriel Piozzi RA: 24002752

Exercício 1 — Listas de Pares e Ímpares

Lê 20 números inteiros e separa em listas de pares e ímpares, exibindo tamanho e elementos de cada lista.

numbers = [int(input('Insira um numero: ')) for i in range(20)]


even = [number for number in numbers if number % 2 == 0]
odd = [number for number in numbers if number % 2 == 1]

print('Lista inteira\nTamanho: ', len(numbers), '\nNumeros: ', numbers)


print('Lista Pares\nTamanho: ', len(even), '\nNumeros: ', even)
print('Lista Impares\nTamanho: ', len(odd), '\nNumeros: ', odd)

Entradas utilizadas na execução:

>>> Números inseridos: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
20

Saída:
Lista inteira
Tamanho: 20
Numeros: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
Lista Pares
Tamanho: 10
Numeros: [2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
Lista Impares
Tamanho: 10
Numeros: [1, 3, 5, 7, 9, 11, 13, 15, 17, 19]

Exercício 2 — Remoção de Negativos

Lê 10 números e remove os negativos da lista usando iteração com while.

numbers = [int(input('Insira um numero: ')) for i in range(10)]


i = 0
while i < len(numbers):
if numbers[i] < 0:
[Link](i)
else:
i += 1

print('Lista sem numeros negativos: ', numbers)

Entradas utilizadas na execução:

>>> Números inseridos: 5, -3, 8, -1, 0, 7, -9, 4, -2, 6

Saída:
Lista sem numeros negativos: [5, 8, 0, 7, 4, 6]

Exercício 3 — Média das Provas

Recebe duas listas com notas da turma em duas provas, calcula a média de cada uma e indica qual foi melhor.

def ex3(p1, p2):


avg_p1 = sum(p1) / len(p1)
avg_p2 = sum(p2) / len(p2)
print('Media da turma na prova 1: ', avg_p1)
print('Media da turma na prova 2: ', avg_p2)
if avg_p1 > avg_p2:
print('A turma obteve a melhor media na prova 1')
else:
print('A turma obteve a melhor media na prova 2')

ex3([7.0, 8.5, 6.0, 9.0, 7.5], [6.0, 7.0, 5.5, 8.0, 6.5])

Entradas utilizadas na execução:

>>> p1 = [7.0, 8.5, 6.0, 9.0, 7.5] | p2 = [6.0, 7.0, 5.5, 8.0, 6.5]

Saída:
Media da turma na prova 1: 7.6
Media da turma na prova 2: 6.6
A turma obteve a melhor media na prova 1

Exercício 4 — União e Ordenação de Listas

Une duas listas, exibe a lista unida, ordenada crescente e decrescente.

def ex4(l1, l2):


l3 = [*l1, *l2]
print(l3)
print(sorted(l3))
print(sorted(l3, reverse=True))

ex4([5, 2, 8, 1], [9, 3, 7, 4])

Entradas utilizadas na execução:

>>> l1 = [5, 2, 8, 1] | l2 = [9, 3, 7, 4]

Saída:
[5, 2, 8, 1, 9, 3, 7, 4]
[1, 2, 3, 4, 5, 7, 8, 9]
[9, 8, 7, 5, 4, 3, 2, 1]

Exercício 5 — Ordenação Manual (Insertion Sort)

Lê 10 números e os insere em ordem crescente manualmente, sem usar sort().


numbers = [int(input('Insira um numero: ')) for i in range(10)]
ordered = []
for num in numbers:
inserted = False
for i in range(len(ordered)):
if num < ordered[i]:
[Link](i, num)
inserted = True
break
if not inserted:
[Link](num)

print('Lista ordenada: ', ordered)

Entradas utilizadas na execução:

>>> Números inseridos: 42, 7, 19, 3, 55, 28, 11, 36, 2, 99

Saída:
Lista ordenada: [2, 3, 7, 11, 19, 28, 36, 42, 55, 99]

Exercício 6 — Operações com Conjuntos (Filmes)

Usa conjuntos para encontrar filmes que ambos gostam, que pelo menos um gosta, e nos quais discordam.

movies_p1 = {'Matrix', 'Vingadores', 'Interestelar', 'O Poderoso Chefao', 'Pulp Fiction'}


movies_p2 = {'Matrix', 'Vingadores', 'O Senhor dos Aneis', 'Pulp Fiction', 'Clube da Luta'}

print('Filme que pelo menos um gosta: ', *movies_p1.union(movies_p2))


print('Filme que os dois gostam: ', *movies_p1.intersection(movies_p2))
print('Filmes que discordam: ',
*movies_p1.difference(movies_p2),
*movies_p2.difference(movies_p1))

Saída:
Filme que pelo menos um gosta: Matrix Vingadores Interestelar O Poderoso Chefao
Pulp Fiction O Senhor dos Aneis Clube da Luta
Filme que os dois gostam: Matrix Vingadores Pulp Fiction
Filmes que discordam: Interestelar O Poderoso Chefao O Senhor dos Aneis Clube da Luta

Exercício 7 — Cadastro e Separação por Idade

Cadastra pessoas com CPF, nome e idade em um dicionário e separa maiores e menores de idade.

pessoas = {}
while True:
cpf = input('Insira um CPF: ')
nome = input('Insira um nome: ')
idade = int(input('Insira uma idade: '))
pessoas[cpf] = {'nome': nome, 'idade': idade}
if input('Deseja continuar? (s/n) ') == 'n':
break
# ... separação de menores e maiores de idade ...
print('Pessoas menores de idade: ', menores_de_idade)
print('Pessoas maiores de idade: ', pessoas)

Entradas utilizadas na execução:

>>> CPF: 111.111.111-11 | Nome: Ana Silva | Idade: 16 | Continuar: s


>>> CPF: 222.222.222-22 | Nome: Bruno Lima | Idade: 25 | Continuar: s
>>> CPF: 333.333.333-33 | Nome: Carla Souza | Idade: 15 | Continuar: n

Saída:
Pessoas menores de idade: {'111.111.111-11': {'nome': 'Ana Silva', 'idade': 16},
'333.333.333-33': {'nome': 'Carla Souza', 'idade': 15}}
Pessoas maiores de idade: {'222.222.222-22': {'nome': 'Bruno Lima', 'idade': 25}}

Exercício 8 — Identificação de Estado pelo CPF

Lê um CPF no formato [Link]-xx e identifica o estado emissor pelo nono dígito.

cpf = input('Insira um CPF (formato [Link]-xx): ')


n_estado = cpf[10]
estados = {
'1': 'DF, GO, MT, MS, TO', '2': 'AC, AM, AP, PA, RO, RR',
'3': 'CE, MA, PI', '4': 'AL, PB, PE, RN',
'5': 'BA, SE', '6': 'MG',
'7': 'ES, RJ', '8': 'SP',
'9': 'PR, SC', '0': 'RS'
}
print('O CPF pertence ao estado(s): ', estados[n_estado])

Entradas utilizadas na execução:

>>> CPF inserido: 123.456.789-09

Saída:
O CPF pertence ao estado(s): PR, SC

Exercício 9 — Validação de E-mail

Valida se o e-mail possui '@' e '.' e extrai o domínio entre o '@' e o último '.'.

while True:
email = input('Insira um email valido: ')
if not ('@' in email and '.' in email):
print('Email invalido')
continue
for i in range(len(email)):
if email[i] == '@': arroba = i
elif email[i] == '.': ponto = i
if arroba < ponto:
print(email[arroba+1:ponto])
else:
print('Email invalido')

Entradas utilizadas na execução:

>>> E-mail inserido: henry@[Link]

Saída:
gmail

Exercício 10 — Comparação de Strings

Compara duas strings quanto ao tamanho e igualdade de conteúdo.

string1 = input('Insira a primeira string: ')


string2 = input('Insira a segunda string: ')

if len(string1) != len(string2):
print('As strings sao de tamanhos diferentes')
else:
print('As strings sao de tamanhos iguais')

if string1 == string2:
print('As strings sao iguais')
else:
print('As strings sao diferentes')

Entradas utilizadas na execução:

>>> String 1: 'Python' | String 2: 'Python'

Saída:
As strings sao de tamanhos iguais
As strings sao iguais

Henry Gabriel Piozzi · RA 24002752 · Atividade de Python

Você também pode gostar