Pular para o conteúdo

Lista 01 - Revisão de Python

Lista de exercícios para revisar a linguagem de programação Python. Resolva cada exercício de forma progressiva, cobrindo desde a declaração de variáveis e leitura de dados até estruturas de decisão, repetição, vetores e funções.


Competência: Leitura de dados com input() e exibição com print().

Contexto:
Em um programa de gestão esportiva, sua tarefa é exibir uma descrição de um jogador de futebol baseado nas suas características. Você deverá criar um programa que recebe as características de um jogador e no final imprima na tela uma descrição (vide exemplo).

Instruções:

  • Declare as variáveis nome, idade, posicao e altura, lendo cada uma delas com input().
  • Converta idade e altura para os tipos numéricos adequados.

Entradas:

  • Nome (string)
  • Idade (inteiro)
  • Posição (string)
  • Altura (float)

Saída esperada:

  • Uma frase descrevendo o jogador com todas as informações lidas.

Exemplo:

Entrada

João
23
Atacante
1.82

Saída

Jogador João, 23 anos, atua como Atacante e tem 1.82m de altura.

Competência: Declaração de variáveis, operadores aritméticos e print().

Contexto:
Em um laboratório de pesquisa, os cientistas precisam comparar duas medições experimentais de forma rápida. Para isso, eles pedem um programa que receba os dois valores e calcule automaticamente os resultados das operações matemáticas básicas entre eles.

Instruções:

  • Leia dois números decimais e armazene-os nas variáveis a e b.
  • Calcule e imprima cada operação em uma linha separada.

Entradas:

  • Número A (float)
  • Número B (float)

Saída esperada:

  • Cinco linhas, uma para cada operação, no formato operação: valor.

Exemplo:

Entrada

8
3

Saída

Soma: 11.0
Subtração: 5.0
Multiplicação: 24.0
Divisão: 2.6666666666666665
Exponenciação: 512.0

Competência: Funções com retorno e parâmetro, operadores aritméticos (módulo), estruturas de decisão if/else e input().

Contexto:
Em uma organização de campeonato de futebol amador, os times são divididos em duas chaves para o sorteio dos confrontos. Para distribuir os times de forma justa, o sistema precisa classificar o número do sorteio de cada time como par ou ímpar.

Instruções:

  • Crie a função eh_par(numero) que recebe um número como parâmetro e retorna True se for par ou False se for ímpar, usando o operador de módulo %.
  • No programa principal, leia um número inteiro, chame a função e imprima par ou ímpar conforme o retorno.

Entradas:

  • Número inteiro

Saída esperada:

  • A mensagem par ou ímpar.

Exemplo:

Entrada

7

Saída

ímpar

Competência: Funções com retorno e sem parâmetro, estruturas de decisão if/elif/else e input().

Contexto:
Uma academia de musculação recebe alunos de todas as idades e precisa organizá-los em turmas específicas. Para direcionar cada novo aluno à turma correta, o sistema de matrícula deve classificar o aluno em uma faixa etária, e você é o responsável por implementar essa regra.

Instruções:

  • Crie a função classificar() — sem parâmetros — que lê a idade internamente com input() e retorna a categoria correspondente, usando if, elif e else:
    • Criança para idade entre 0 e 12;
    • Adolescente para idade entre 13 e 17;
    • Adulto para idade entre 18 e 59;
    • Idoso para idade 60 ou mais.
  • No programa principal, chame a função e imprima a categoria retornada.

Enunciado:
Crie um programa com a função classificar() (com retorno e sem parâmetro) que lê a idade e retorna a categoria. O programa principal deve chamar a função e imprimir o valor retornado:

Entradas:

  • Idade (inteiro)

Saída esperada:

  • Uma das quatro categorias conforme a faixa etária.

Exemplo:

Entrada

15

Saída

Adolescente

Competência: Funções sem retorno e com parâmetro, estrutura de decisão match e operadores aritméticos.

Contexto:
Uma loja de conveniência está implantando um caixa eletrônico que precisa realizar cálculos rápidos no atendimento. O funcionário digita dois valores e escolhe em um menu qual operação deve ser executada. O programa é responsável por executar a operação escolhida e exibir o resultado.

Instruções:

  • Crie a função calcular(a, b, op) (sem retorno) que recebe os dois números e o código da operação, usa match para executar a operação e imprime o resultado.
  • Para códigos diferentes de 1 a 4, a função deve imprimir opção inválida.
  • No programa principal, leia os dois números e o código e chame a função.
  • Na divisão, se o segundo número for zero, a função deve imprimir Erro: Divisão por zero..

Entradas:

  • Número A (float)
  • Número B (float)
  • Código da operação (inteiro)

Saída esperada:

  • O resultado da operação escolhida ou a mensagem de opção inválida.

Exemplo:

Entrada

10
2
4

Saída

5.0

Competência: Funções sem retorno e com parâmetro, estruturas de repetição for e range().

Contexto:
Em uma missão espacial, a equipe de controle precisa fazer uma contagem regressiva antes do lançamento do foguete. O técnico informa o número inicial e o sistema deve exibir todos os números até o zero, seguidos de uma explosão simulada.

Instruções:

  • Crie a função contagem(n) (sem retorno) que recebe o número inicial e usa um laço for com range() para imprimir os números em ordem decrescente até 0, terminando com BUM!.
  • No programa principal, leia um número inteiro positivo e chame a função.

Entradas:

  • Número N (inteiro)

Saída esperada:

  • Os números de N a 0, um por linha, seguidos de BUM!.

Exemplo:

Entrada

3

Saída

3
2
1
0
BUM!

Competência: Funções sem retorno e sem parâmetro, estruturas de repetição while, operadores de comparação e input().

Contexto:
Em uma feira de ciências, os organizadores montaram um jogo de adivinhação em que o participante deve descobrir um número secreto. O jogo continua pedindo novos chutes enquanto o participante não acertar, e ele pode desistir a qualquer momento digitando zero.

Instruções:

  • Crie a função jogar() (sem parâmetros e sem retorno) que contém todo o jogo: define a variável numero_sorteado com o valor fixo 8, usa um laço while para ler os chutes e imprime as mensagens de resultado.
  • No programa principal, apenas chame a função jogar().

Entradas:

  • Múltiplos chutes (inteiros) até acertar o número secreto ou digitar 0.

Saída esperada:

  • A mensagem Parabéns! Você acertou. caso acerte, ou Você desistiu. caso digite 0.

Exemplo:

Entrada

4
7
8

Saída

Parabéns! Você acertou.

Competência: Funções com retorno e parâmetro, vetores (listas), operadores aritméticos e estrutura for.

Contexto:
No fechamento do caixa de um mercado, o gerente precisa somar o total das vendas realizadas em uma lista de valores. Em vez de somar manualmente, o sistema deve percorrer todos os valores armazenados em uma lista e calcular a soma e a média das vendas do dia.

Instruções:

  • Crie a função soma_media(valores) que recebe uma lista como parâmetro e retorna a soma e a média dos elementos.
  • No programa principal, crie uma lista vazia, leia 5 valores com um laço for adicionando-os com append(), chame a função e imprima os valores retornados.

Entradas:

  • Cinco valores (float), um por linha.

Saída esperada:

  • O valor da soma e o da média, cada um em uma linha.

Exemplo:

Entrada

10
20
30
40
50

Saída

Soma: 150.0
Média: 30.0

Competência: Funções com retorno e parâmetro, vetores (listas), operadores de comparação, input() e estrutura de repetição.

Contexto:
Em um campeonato de ginástica, a banca de jurados atribui uma nota a cada atleta. Para definir os destaques da competição, o sistema precisa identificar a maior e a menor nota recebida por um atleta, comparando todos os valores da lista de notas.

Instruções:

  • Crie a função maior_menor(lista) que recebe uma lista como parâmetro, percorre seus elementos e retorna o maior e o menor valor.
  • No programa principal, leia a quantidade n, crie uma lista de notas lendo n valores com um laço for, chame a função e imprima o maior e o menor valor.
  • Não utilize as funções max() e min().

Entradas:

  • Quantidade N de notas (inteiro)
  • N notas (float), uma por linha.

Saída esperada:

  • A maior nota e a menor nota entre os valores lidos, cada uma em uma linha.

Exemplo:

Entrada

5
7.5
9.0
6.0
8.0
4.5

Saída

Maior: 9.0
Menor: 4.5

Competência: Funções com retorno e parâmetro, vetores (listas), estruturas de repetição, operadores de comparação e lógica.

Contexto:
Em um sistema de controle de estoque, o gerente quer saber quantas vezes um determinado produto foi registrado em uma lista de movimentações do dia. Para isso, o sistema deve percorrer todo o vetor e contar quantas vezes o nome do produto aparece na lista, exigindo a combinação de funções, vetores, laços e um contador.

Instruções:

  • Crie a função contar(produtos, produto_procurado) que recebe uma lista e um valor como parâmetros e retorna quantas vezes x aparece na lista.
  • No programa principal, leia a quantidade n, crie uma lista lendo n valores com um laço for, leia o valor produto_procurado a ser procurado, chame a função e imprima o total retornado.

Entradas:

  • Quantidade N de produtos (inteiro)
  • N produtos (string), um por linha
  • Valor produto_procurado a ser pesquisado (string)

Saída esperada:

  • Uma frase informando quantas vezes o produto_procurado aparece na lista.

Exemplo:

Entrada

5
lapis
caneta
lapis
borracha
lapis

Saída

O valor 3 aparece 3 vezes.

Competência: Funções com retorno e parâmetro, vetores, laços for e operadores aritméticos.

Contexto:
Em um desafio de matemática da feira de ciências, os participantes precisam gerar rapidamente os primeiros termos da famosa sequência de Fibonacci, na qual cada termo é a soma dos dois anteriores. O responsável pelo evento quer um programa que monte essa sequência automaticamente.

Instruções:

  • Crie a função fibonacci(n) que recebe um inteiro e retorna uma lista com os primeiros n termos da sequência (começando em 0 e 1).
  • No programa principal, leia n, chame a função e imprima cada termo da lista retornada.

Entradas:

  • Quantidade N de termos (inteiro)

Saída esperada:

  • Os primeiros N termos da sequência de Fibonacci, um por linha.

Exemplo:

Entrada

8

Saída

0
1
1
2
3
5
8
13

Competência: Funções com retorno e parâmetro, strings, laços e condicionais.

Contexto:
No quiz da feira de ciências, uma rodada desafia os participantes a dizer se uma palavra é palíndromo, ou seja, se pode ser lida igualmente de trás para frente. Para evitar erros de digitação, o organizador quer um programa que faça essa verificação automaticamente.

Instruções:

  • Crie a função eh_palindromo(palavra) que recebe uma string, percorre seus caracteres comparando as extremidades e retorna True ou False.
  • No programa principal, leia uma palavra, chame a função e imprima a conclusão.

Entradas:

  • Uma palavra (string)

Saída esperada:

  • A conclusão sobre a palavra ser ou não palíndromo.

Exemplo:

Entrada

arara

Saída

é palíndromo