Python
Arquivos de atividades e desafios referente ao curso de Python do CursoemVideo
Aulas
1
Seja um programador
2
Para que serve Python?
3
Instalando o Python3 e o IDLE
4
Primeiros comandos em Python
5
Instalando o PyCharm e o QPython3
Desafios
1
Primeiro script. Pergunta qual o nome do usuário, e retorna ele com "Prazer em te conhecer"
Ver Código2
Pergunta qual a data de nascimento do usuário e retorna a data perguntando se está correto
Ver Código4
Um programa que leia algo pelo teclado e mostra na tela o seu tipo primitivo e todas as informações possíveis sobre ela
Ver Código5
Um programa que leia um número Inteiro e mostre na tela o seu sucessor e seu antecessor
Ver Código8
Um programa que leia um valor em metros e o exiba convertido em centímetros e milímetros
Ver Código11
Um programa que leia a largura e a altura de uma parede em metros, calcule a sua área e a quantidade de tinta necessária para pintá-la, sabendo que cada litro de tinta, pinta uma área de 2m²
Ver Código12
Um algoritmo que leia o preço de um produto e mostre seu novo preço, com 5% de desconto
Ver Código13
Um algoritmo que leia o salário de um funcionário e mostre seu novo salário, com 15% de aumento
Ver Código15
Um programa que pergunte a quantidade de km percorridos por um carro alugado e a quantidade de dias pelos quais ele foi alugado
Ver Código16
Um programa que leia um número REAL qualquer pelo teclado e mostre na tela a sua porção inteira
Ver Código17
Um programa que leia o comprimento do cateto oposto e do cateto adjacente de um triângulo retângulo, calcule e mostre o comprimento da hipotenusa
Ver Código18
Um programa que leia um ângulo e mostre na tela o valor do seno, cosseno e tangente desse ângulo
Ver Código19
Um professor quer sortear um dos seus quatro alunos para apagar o quadro. Faça um programa que ajude ele, lendo o nome deles e escrevendo o nome do escolhido.
Ver Código20
O mesmo professor do desafio anterior quer sortear a ordem de apresentação de trabalhos dos alunos. Faça um programa que leia o nome dos quatro alunos e mostre a ordem sorteada.
Ver Código22
Um programa que leia o nome de uma pessoa e mostre:
- O nome com todas as letras maiúsculas;
- O nome com
todas as letras minúsculas;
- Quantas letras ao todo (sem
considerar espaços);
- Quantas letras tem o primeiro nome.
23
Um programa que leia um número de 0 a 9999 e mostre na tela cada um dos dígitos separados.
Ver Código24
Um programa que leia o nome de uma cidade e diga se ela começa ou não com o nome "SANTO".
Ver Código26
Um programa que leia uma frase pelo teclado e mostre:
- Quantas vezes aparece a letra "A";
- Em que posição
ela aparece a primeira vez;
- Em que posição ela aparece a
última vez.
27
Um programa que leia o nome completo de uma pessoa, mostrando em seguida o primeiro e o último nome separadamente.
Ver Código28
Um programa que faça um computador "pensar" em um número inteiro
entre 0 e 5 e peça para o usuário tentar descobrir qual foi o
número escolhido pelo computador.
O programa deverá escrever na tela se o usuário venceu ou
perdeu.
29
Um programa que leia a velocidade de um carro.
Se ele
ultrapassar 80km/h, mostre mensagem dizendo que ele foi multado.
A multa vai custar R$7,00 por cada km acima do limite.
31
Um programa que pergunte a distância de uma viagem em km. Calcule o preço da passagem, cobrando R$0,50 por km para viagens de até 200km e R$0,45 para viagens mais longas.
Ver Código34
Um programa que pergunte o salário de um funcionário e calcule o
valor do seu aumento.
Para salários superiores a R$1250,00,
calcule um aumento de 10%.
Para os inferiores ou iguais, o
aumento é de 15%.
35
Um programa que leia o comprimento de três retas e diga ao usuário se elas podem ou não formar um triângulo.
Ver Código36
Um programa para aprovar o empréstimo bancário para a compra de
uma casa. O programa vai perguntar o valor da casa, o salário do
comprador e em quantos anos ele vai pagar.
Calcule o valor da prestação mensal, sabendo que ele não
pode exceder 30% do salário ou então o empréstimo será negado.
37
Um programa que leia um número inteiro qualquer e peça para o
usuário escolher qual será a base de conversão:
- 1 para
binário
- 2 para octal
- 3 para hexadecimal
38
Um programa que leia dois números inteiros e compare-os, mostrando
na tela uma mensagem:
- O primeiro valor é maior
- O
segundo valor é maior
- Não existe valor maior, os dois são
iguais
39
Um programa que leia o ano de nascimento de um jovem e informe, de
acordo com sua idade:
- Se ele ainda vai se alistar ao
serviço militar.
- Se é a hora de se alistar.
- Se já
passou do tempo do alistamento.
Seu programa também deverá
mostrar o tempo que falta ou que passou do prazo.
40
Um programa que leia duas notas de um aluno e calcule sua média,
mostrando uma mensagem no final, de acordo com a média atingida:
- Média abaixo de 5.0: REPROVADO
- Média entre 5.0 e
6.9: RECUPERAÇÃO
- Média entre 7.0 ou superior: APROVADO
41
A Confederação Nacional de Natação precisa de um programa que leia
o ano de nascimento de um atleta e mostre sua categoria, de acordo
com a idade:
- Até 9 anos: MIRIM
- Até 14 anos:
INFANTIL
- Até 19 anos: JÚNIOR
- Até 20 anos SÊNIOR
- Acima: MASTER
42
Refaça o
DESAFIO 035
dos triângulos, acrescentando o recurso de mostrar que tipo de
triângulo será formado:
- Equilátero: todos os lados iguais
- Isósceles: dois lados iguais
- Escaleno: todos os
lados diferentes
43
Desenvolva uma lógica que leia o peso e a altura de uma pessoa,
calcule seu IMC e mostre seu status, de acordo
com a tabela abaixo:
- Abaixo de 18.5: Abaixo do Peso
- Entre 18.5 e 25: Peso ideal
- 25 até 30: Sobrepeso
- 30 até 40: Obesidade
- Acima de 40: Obesidade
mórbida
44
Um programa que calcule o valor a ser pago por um produto,
considerando o seu preço normal e
condição de pagamento:
- À vista
dinheiro/cheque: 10% de desconto
- À vista no cartão: 5% de
desconto
- Em até 2x no cartão: preço normal
- 3x ou
mais no cartão: 20% de juros
46
Um programa que mostre na tela uma contagem regressiva para o estouro de fogos de artifício, indo de 10 até 0, com uma pausa de 1 segundo entre eles.
Ver Código47
Um programa que mostre na tela todos os números pares que estão no intervalo entre 1 e 50.
Ver Código48
Um programa que calcule a soma entre todos os números ímpares que são múltiplos de três e que encontram no intervalo de 1 até 500.
Ver Código49
Refaça o Desafio 009, mostrando a tabuada de um número que o usuário escolher, só que agora utilizando um laço for.
Ver Código50
Um programa que leia seis números inteiros e mostre a soma apenas daqueles que forem pares. Se o valor digitado for ímpar, desconsidere-o.
Ver Código51
Um programa que leia o primeiro termo e a razão de uma PA. No final, mostre os 10 primeiros termos dessa progressão.
Ver Código53
Um programa que leia uma frase qualquer e diga se ela é um palíndromo, desconsiderando os espaços.
Ver Código54
Um programa que leia o ano de nascimento de sete pessoas. No final, mostre quantas pessoas ainda não atingiram a maioridade e quantas já são maiores.
Ver Código55
Um programa que leia o peso de cinco pessoas. No final, mostre qual foi o maior e o menor peso lidos.
Ver Código56
Um programa que leia o nome, idade e sexo de 4 pessoas. No final
do programa, mostre:
- A média de idade do grupo.
-
Qual é o nome do homem mais velho.
- Quantas mulheres têm
menos de 20 anos.
57
Um programa que leia o sexo de uma pessoa, mas só aceite os valores 'M' ou 'F'. Caso esteja errado, peça a digitação novamente até ter um valor correto.
Ver Código58
Melhore o jogo do DESAFIO 028 onde o computador vai "pensar" em um número entre 0 e 10. Só que agora o jogador vai tentar adivinhar até acertar, mostrando no final quantos palpites foram necessários para vencer.
Ver Código59
Um programa que leia dois valores e mostre um menu na tela:
[1] Somar
[2] Multiplicar
[3] Maior
[4] Novos Números
[5] Sair do Programa
Seu
programa deverá realizar a operação solicitada em cada coisa.
61
Refaça o desafio DESAFIO 051, lendo o primeiro termo e a razão de uma PA, mostrando os 10 primeiros termos da progressão usando a estrutura while.
Ver Código62
Melhore o DESAFIO 061, perguntando para o usuário se ele quer mostrar mais alguns termos. O programa encerra quando ele disser que quer mostrar 0 termos.
Ver Código63
Um programa que leia um número n inteiro qualquer e mostre na tela os n primeiros elementos de uma Sequência de Fibonacci.
Ver Código64
Um programa que leia vários números inteiros pelo teclado. O programa só vai parar quando o usuário digitar o valor 999, que é a condição de parada. No final, mostre quantos números foram digitados e qual foi a soma entre eles (desconsiderando o flag).
Ver Código65
Um programa que leia vários números inteiros pelo teclado. No final da execução, mostre a média entre todos os valores e qual foi o maior e o menor valor lido. O programa deve perguntar ao usuário se ele quer ou não continuar a digitar valores.
Ver Código66
Crie um programa que leia vários números inteiros pelo teclado. O programa só vai parar quando o usuário digitar o valor 999, que é a condição de parada. No final, mostre quantos números foram digitados e qual foi a soma entre eles (desconsiderando o flag).
Ver Código67
Faça um programa que mostre a tabuada de vários números, um de cada vez, para cada valor digitado pelo usuário. O programa será interrompido quando o número solicitado for negativo.
Ver Código68
Faça um programa que jogue par ou ímpar com o comutador. O jogo só será interrompido quando o jogador PERDER, mostrando o total de vitórias consecutivas que ele conquistou no final do jogo.
Ver Código69
Crie um programa que leia a idade e o sexo de várias pessoas. A
cada pessoa cadastrada, o programa deverá perguntar se o usuário
quer ou não continuar. No final, mostre:
A) Quantas pessoas
tem mais de 18 anos.
B) Quantos homens foram cadastrados.
C) Quantas mulheres tem menos de 20 anos.
70
Crie um programa que leia o nome e o preço de vários produtos. O
programa deverá perguntar se o usuário vai continuar. No final,
mostre:
A) Qual é o total gasto na compra.
B) Quantos
produtos custam mais de R$1000.
C) Qual é o nome do produto
mais barato.
71
Crie um programa que simule o funcionamento de um caixa
eletrônico. No início, pergunte ao usuário qual será o valor a ser
sacado (número inteiro) e o programa vai informar quantas cédulas
de cada valor serão entregues.
OBS: Considere que o caixa
possui cédulas de R$50, R$20, R$10 e R$1.
72
Crie um programa que tenha uma tupla totalmente preenchida com uma
contagem por extensão, de zero até vinte.
Seu programa
deverá ler um número pelo teclado (entre 0 e 20) e mostrá-lo por
extenso.
73
Crie uma tupla preenchida com os 20 primeiros colocados da Tabela
do Campeonato Brasileiro de Futebol, na ordem de colocação. Depois
mostre:
A) Apenas os 5 primeiros colocados.
B) Os
últimos 4 colocados da tabela.
C) Uma lista com os times em
ordem alfabética.
D) Em que posição na tabela está o time da
Chapecoense.
74
Crie um programa que vai gerar cinco números aleatórios e colocar
em uma tupla.
Depois disso, mostre a listagem de números
gerados e também indique o menor e o maior valor que estão na
tupla.
75
Desenvolva um programa que leia quatro valores pelo teclado e
guarde-os em uma tupla. No final, mostre:
A) Quantas vezes
apareceu o valor 9.
B) Em que posição foi digitado o
primeiro valor 3.
C) Quais foram os números pares.
76
Crie um programa que tenha uma tupla única com nomes de produtos e
seus respectivos preços, na sequência.
No final, mostre uma
listagem de preços, organizando os dados em forma tabular.
77
Crie um programa que tenha uma tupla com várias palavras (não usar acentos). Depois disso, você deve mostrar, para cada palavra, quais são as suas vogais.
Ver Código78
Faça um programa que leia 5 valores numéricos e guarde-os em uma
lista.
No final, mostre qual foi o maior e o menor valor
digitado e suas respectivas posições na lista.
79
Crie um programa onde o usuário possa digitar vários valores
numéricos e cadastre-os em uma lista. Caso o número já exista, ele
não será adicionado.
No final, serão exibidos todos os
valores únicos digitados, em ordem crescente.
80
Crie um programa onde o usuário possa digitar cinco valores
numéricos e cadastre-os em uma lista, já na posição correta de
inserção (sem usar o sort()).
No final, mostre a lista
ordenada na tela.
81
Crie um programa que vai ler vários números e colocar em uma
lista.
Depois disso, mostre:
A) Quantos números foram
digitados?
B) A lista de valores, ordenada de forma
decrescente.
C) Se o valor 5 foi digitado e está ou não na
lista.
82
Crie um programa que vai ler vários números e colocar em uma
lista.
Depois disso, crie duas listas externas que vão
conter apenas os valores pares e os valores ímpares digitados,
respectivamente.
Ao final, mostre o conteúdo das três listas
geradas.
83
Crie um programa onde o usuário digite uma expressão qualquer que use parênteses. Seu aplicativo deverá analisar se a expressão passada está com os parênteses abertos e fechados na ordem correta.
Ver Código84
Faça um programa que leia nome e peso de várias pessoas, guardando
tudo em uma lista. No final, mostre:
A) Quantas pessoas
foram cadastradas.
B) Uma listagem com as pessoas mais
pesadas.
C) Uma listagem com as pessoas mais leves.
85
Crie um programa onde o usuário possa digitar sete valores numéricos e cadastre-os em uma lista única que mantenha separados os valores pares e ímpares. No final, mostre os valores pares e ímpares em ordem crescente.
Ver Código86
Crie um programa que crie uma matriz de dimensão 3x3 e preencha
com valores lidos pelo teclado.
No final, mostre a matriz na
tela, com a formatação correta.
87
Aprimore o desafio anterior, mostrando no final:
A) A soma
de todos os valores pares digitados.
B) A soma soma dos
valores da terceira coluna.
C) O maior valor da segunda
linha.
88
Faça um programa que ajude um jogador da MEGA SENA a criar palpites. O programa vai perguntar quantos jogos serão gerados e vai sortear 6 números entre 1 e 60 para cada jogo, cadastrando tudo em uma lista composta.
Ver Código89
Crie um programa que leia nome e duas notas de vários alunos e guarde tudo em uma lista composta. No final, mostre um boletim contendo a média de cada um e permita que o usuário possa mostrar as notas de cada aluno individualmente.
Ver Código90
Faça um programa que leia nome e média de um aluno, guardando também a situação em um dicionário. No final, mostre o conteúdo da estrutura na tela.
Ver Código91
Crie um programa onde 4 jogadores joguem um dado e tenham resultados aleatórios. Guarde esses resultados em um dicionário. No final, coloque esse dicionário em ordem, sabendo que o vencedor tirou o maior número no dado.
Ver Código92
Crie um programa que leia nome, ano de nascimento e carteira de trabalho e cadastre-os (com idade) em um dicionário se por acaso a CTPS for diferente de ZERO, o dicionário receberá também o ano de contração e o salário. Calcule e acrescente, além da idade, com quantos anos a pessoa vai se aposentar.
Ver Código93
Crie um programa que gerencie o aproveitamento de um jogador de futebol. O programa vai ler o nome do jogador e quantas partidas ele jogou. Depois vai ler a quantidade de gols feitos em cada partida. No final, tudo isso será guardado em um dicionário, incluindo o total de gols feitos durante o campeonato.
Ver Código94
Crie um programa que leia nome, sexo e idade de várias pessoas,
guardando os dados de cada pessoa em um dicionário e todos os
dicionários em uma lista. No final, mostre:
A) Quantas
pessoas foram cadastradas
B) A média de idade do grupo.
C) Uma lista com todas as mulheres.
D) Uma lista com
todas as pessoas com idade acima da média.
95
Aprimore o DESAFIO 093 para que ele funcione com vários jogadores, incluindo um sistema de visualização de detalhes do aproveitamento de cada jogador.
Ver Código96
Faça um programa que tenha uma função chamada área(), que receba as dimensões de um terreno retangular (largura e comprimento) e mostre a área do terreno.
Ver Código97
Faça um programa que tenha uma função chamada escreva(), que receba um texto qualquer como parâmetro e mostre uma mensagem com tamanho adaptável.
Ver Código98
Faça um programa que tenha uma função chamada contador(), que
receba três parâmetros: início, fim e passo e realize a contagem.
Seu programa tem que realizar três contagens através da função
criada:
A) De 1 até 10, de 1 em 1
B) De 10 até 0, de 2 em 2
C) Uma contagem personalizada
99
Faça um programa que tenha uma função chamada maior(), que receba
vários parâmetros com valores inteiros.
Seu programa tem que analisar todos os valores e dizer qual
deles é o maior.
100
Faça um programa que tenha uma lista chamada números e duas funções chamadas sorteia() e somaPar(). A primeira função vai sortear 5 números e vai colocá-los dentro da lista e a segunda função vai mostrar a soma entre todos os valores PARES sorteados pela função anterior.
Ver Código101
Crie um programa que tenha uma função chamada voto() que vai receber como parâmetro o ano de nascimento de uma pessoa, retornando um valor literal indicando se uma pessoa tem voto NEGADO, OPCIONAL ou OBRIGATÓRIO nas eleições.
Ver Código102
Crie um programa que tenha uma função chamada fatorial() que receba dois parâmetros: o primeiro que indique o número a calcular e o outro chamado show, que será um valor lógico (opcional) indicado se será mostrado ou não na tela o processo de cálculo do fatorial.
Ver Código103
Faça um programa que tenha uma função chamada ficha(), que receba
dois parâmetros opcionais: o nome de um jogador e quantos gols ele
marcou.
O programa deverá ser capaz de mostrar a ficha do jogador, mesmo
que algum dado não tenha sido informado corretamente.
104
Crie um programa que tenha a função leiaint(), que vai funcionar de forma semelhante à função input() do Python, só que fazendo a validação para aceitar apenas um valor numérico.
Ver Código105
Faça um programa que tenha uma função notas() que pode receber
várias notas de alunos e vai retornar um dicionário com as
seguintes informações:
- Quantidade de notas
- A maior nota
- A menor nota
- A média da turma
- A situação (opcional)
Adicionar também as docstrings da função.
106
Faça um mini-sistema que utilize o Interactive Help do Python. O
usuário vai digitar o comando e o manual vai aparecer. Quando o
usuário digitar a palavra 'FIM', o programa se encerrará.
OBS: use cores.
107
Crie um módulo chamado moeda.py que tenha as funções incorporadas
aumentar(), diminuir(), dobro() e metade.
Faça também um programa que importe esse módulo e use
algumas dessas funções.
108
Adapte o código do DESAFIO 107, criando uma função adicional chamada moeda() que consiga mostrar os valores como um valor monetário formatado.
Ver Código109
Modifique as funções que foram criadas no DESAFIO 107 para que elas aceitem um parâmetro a mais, informando se o valor retornado por elas vai ser ou não formatado pela função moeda(), desenvolvida no DESAFIO 108.
Ver Código110
Adicione ao módulo moeda.py criado nos desafios anteriores, uma função chamada resumo(), que mostre na tela algumas informações geradas pelas funções que já temos no módulo criado até aqui.
Ver Código111
Crie um pacote chamado utilidadesCeV que tenha dois módulos
internos chamados moeda e dado.
Transfira todas as funções
utilizadas nos DESAFIOS
107,
108,
109
e
110
para o primeiro pacote e mantenha tudo funcionando.
112
Dentro do pacote utilidadesCeV que criamos no DESAFIO 111, temos um módulo chamado dado. Crie uma função chamada leiaDinheiro() que seja capaz de funcionar como a função input(), mas com uma validação de dados para aceitar apenas valores que sejam monetários.
Ver Código113
Reescreva a função leiaInt() que fizemos no DESAFIO 104, incluindo agora a possibilidade da digitação de um número de tipo inválido. Aproveite e crie também uma função leiaFloat() com a mesma funcionalidade.
Ver Código114
Crie um código em Python que testa se o site Pudim está acessível pelo computador usado.
Ver Código115
Crie um pequeno sistema modularizado que permita cadastrar pessoas
pelo seu nome e idade em um arquivo de texto simples.
O sistema só vai ter 2 opções: cadastrar uma nova pessoa e
listar todas as pessoas cadastradas.