├── .gitignore ├── README.md └── exercicios ├── 001.py ├── 002.py ├── 003.py ├── 004.py ├── 005.py ├── 006.py ├── 007.py ├── 008.py ├── 009.py ├── 010.py ├── 011.py ├── 012.py ├── 013.py ├── 014.py ├── 015.py ├── 016.py ├── 017.py ├── 018.py ├── 019.py ├── 020.py ├── 021.py ├── 022.py ├── 023.py ├── 024.py ├── 025.py ├── 026.py ├── 027.py ├── 028.py ├── 029.py ├── 030.py ├── 031.py ├── 032.py ├── 033.py ├── 034.py ├── 035.py ├── 036.py ├── 037.py ├── 038.py ├── 039.py ├── 040.py ├── 041.py ├── 042.py ├── 043.py ├── 044.py ├── 045.py ├── 046.py ├── 047.py ├── 048.py ├── 049.py ├── 050.py ├── 051.py ├── 052.py ├── 053.py ├── 054.py ├── 055.py ├── 056.py ├── 057.py ├── 058.py ├── 059.py ├── 060.py ├── 061.py ├── 062.py ├── 063.py ├── 064.py ├── 065.py ├── 066.py ├── 067.py ├── 068.py ├── 069.py ├── 070.py ├── 071.py ├── 072.py ├── 073.py ├── 074.py ├── 075.py ├── 076.py ├── 077.py ├── 078.py ├── 079.py ├── 080.py ├── 081.py ├── 082.py ├── 083.py ├── 084.py ├── 085.py ├── 086.py ├── 087.py ├── 088.py ├── 089.py ├── 090.py ├── 091.py ├── 092.py ├── 093.py ├── 094.py ├── 095.py ├── 096.py ├── 097.py ├── 098.py ├── 099.py ├── 100.py ├── 101.py ├── 102.py ├── 103.py └── 104.py /.gitignore: -------------------------------------------------------------------------------- 1 | # Byte-compiled / optimized / DLL files 2 | __pycache__/ 3 | *.py[cod] 4 | *$py.class 5 | 6 | # C extensions 7 | *.so 8 | 9 | # Distribution / packaging 10 | .Python 11 | build/ 12 | develop-eggs/ 13 | dist/ 14 | downloads/ 15 | eggs/ 16 | .eggs/ 17 | lib/ 18 | lib64/ 19 | parts/ 20 | sdist/ 21 | var/ 22 | wheels/ 23 | *.egg-info/ 24 | .installed.cfg 25 | *.egg 26 | MANIFEST 27 | 28 | # PyInstaller 29 | # Usually these files are written by a python script from a template 30 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 31 | *.manifest 32 | *.spec 33 | 34 | # Installer logs 35 | pip-log.txt 36 | pip-delete-this-directory.txt 37 | 38 | # Unit test / coverage reports 39 | htmlcov/ 40 | .tox/ 41 | .coverage 42 | .coverage.* 43 | .cache 44 | nosetests.xml 45 | coverage.xml 46 | *.cover 47 | .hypothesis/ 48 | .pytest_cache/ 49 | 50 | # Translations 51 | *.mo 52 | *.pot 53 | 54 | # Django stuff: 55 | *.log 56 | local_settings.py 57 | db.sqlite3 58 | *.db 59 | 60 | # Flask stuff: 61 | instance/ 62 | .webassets-cache 63 | 64 | # Scrapy stuff: 65 | .scrapy 66 | 67 | # Sphinx documentation 68 | docs/_build/ 69 | 70 | # PyBuilder 71 | target/ 72 | 73 | # Jupyter Notebook 74 | .ipynb_checkpoints 75 | 76 | # pyenv 77 | .python-version 78 | 79 | # celery beat schedule file 80 | celerybeat-schedule 81 | 82 | # SageMath parsed files 83 | *.sage.py 84 | 85 | # Environments 86 | .venv 87 | env/ 88 | venv/ 89 | ENV/ 90 | env.bak/ 91 | venv.bak/ 92 | 93 | # Spyder project settings 94 | .spyderproject 95 | .spyproject 96 | 97 | # Rope project settings 98 | .ropeproject 99 | 100 | # mkdocs documentation 101 | /site 102 | 103 | # mypy 104 | .mypy_cache/ -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Exercícios de Lógica de Programação em Python 2 | 3 | ## Descrição 4 | Resolução em Python dos exercícios de Lógica de Programação e Algoritmos da [lista de exercícios da Wiki da Python Brasil](https://wiki.python.org.br/ListaDeExercicios). 5 | 6 | ## Conteúdo 7 | 1. [Exercícios de Lógica de Programação em Python](#exercícios-de-lógica-de-programação-em-python) 8 | 1. [Descrição](#descrição) 9 | 2. [Conteúdo](#conteúdo) 10 | 3. [Motivação](#motivação) 11 | 4. [Olhe também](#olhe-também) 12 | 5. [Saiba que](#saiba-que) 13 | 6. [Enunciados](#enunciados) 14 | 1. [Estruturas sequenciais](#estruturas-sequenciais) 15 | 2. [Estruturas de decisão](#estruturas-de-decisão) 16 | 3. [Estruturas de repetição](#estruturas-de-repetição) 17 | 4. [Listas](#listas) 18 | 19 | ## Motivação 20 | Estou resolvendo esta lista para disponibilizar as resoluções como material complementar do meu curso de [Lógica de Programação e Algoritmos com Python](https://www.udemy.com/course/programarcompython/?referralCode=2657DAE91BF990DE780E). 21 | 22 | ## Olhe também 23 | "Cópia" desse repositório para as linguagens: 24 | - [C/C++](https://github.com/isquicha/exercicios-logica-c) 25 | - [Lua](https://github.com/isquicha/exercicios-logica-lua) 26 | 27 | Meus cursos de: 28 | - [Programação Orientada a Objetos com Python](https://www.udemy.com/course/poocompython/?referralCode=2D98A8C4A1F3B64E6837) 29 | - [Lógica de Programação e Algoritmos com C/C++](https://www.udemy.com/course/programarcomc/?referralCode=04DEC481E14D3EFE4B1B) 30 | - [Lógica de Programação e Algoritmos com Lua](https://www.udemy.com/course/programarcomlua/?referralCode=E7C03C84588AAED48068) 31 | 32 | A [licença](https://creativecommons.org/licenses/by/2.5/br/) da Wiki da Python Brasil. 33 | 34 | ## Saiba que 35 | Como são resoluções para um curso de Lógica de Programação (nível inicante), não foram utilizadas as famosas boas práticas de programação, pois o objetivo é justamente ensinar os fundamentos de lógica, sem adicionar muita complexidade. 36 | 37 | ## Enunciados 38 | ### Estruturas sequenciais 39 | #### [Exercicio 001](exercicios/001.py) 40 | 41 | Faça um Programa que mostre a mensagem "Alo mundo" na tela. 42 | 43 | #### [Exercicio 002](exercicios/002.py) 44 | 45 | Faça um Programa que peça um número e então mostre a mensagem O número 46 | informado foi [número]. 47 | 48 | #### [Exercicio 003](exercicios/003.py) 49 | 50 | Faça um Programa que peça dois números e imprima a soma. 51 | 52 | #### [Exercicio 004](exercicios/004.py) 53 | 54 | Faça um Programa que peça as 4 notas bimestrais e mostre a média. 55 | 56 | #### [Exercicio 005](exercicios/005.py) 57 | 58 | Faça um Programa que converta metros para centímetros. 59 | 60 | #### [Exercicio 006](exercicios/006.py) 61 | 62 | Faça um Programa que peça o raio de um círculo, calcule e mostre sua área. 63 | 64 | #### [Exercicio 007](exercicios/007.py) 65 | 66 | Faça um Programa que calcule a área de um quadrado, em seguida mostre o dobro 67 | desta área para o usuário. 68 | 69 | #### [Exercicio 008](exercicios/008.py) 70 | 71 | Faça um Programa que pergunte quanto você ganha por hora e o número de horas 72 | trabalhadas no mês. Calcule e mostre o total do seu salário no referido mês. 73 | 74 | #### [Exercicio 009](exercicios/009.py) 75 | 76 | Faça um Programa que peça a temperatura em graus Farenheit, transforme e mostre 77 | a temperatura em graus Celsius. 78 | C = (5 * (F-32) / 9). 79 | 80 | #### [Exercicio 010](exercicios/010.py) 81 | 82 | Faça um Programa que peça a temperatura em graus Celsius, transforme e mostre 83 | em graus Farenheit. 84 | 85 | #### [Exercicio 011](exercicios/011.py) 86 | 87 | Faça um Programa que peça 2 números inteiros e um número real. 88 | Calcule e mostre: 89 | o produto do dobro do primeiro com metade do segundo. 90 | a soma do triplo do primeiro com o terceiro. 91 | o terceiro elevado ao cubo. 92 | 93 | #### [Exercicio 012](exercicios/012.py) 94 | 95 | Tendo como dados de entrada a altura de uma pessoa, 96 | construa um algoritmo que calcule seu peso ideal, 97 | usando a seguinte fórmula: (72.7*altura) - 58 98 | 99 | #### [Exercicio 013](exercicios/013.py) 100 | 101 | Tendo como dado de entrada a altura (h) de uma pessoa, 102 | construa um algoritmo que calcule seu peso ideal, 103 | utilizando as seguintes fórmulas: 104 | Para homens: (72.7*h) - 58 105 | Para mulheres: (62.1*h) - 44.7 106 | 107 | #### [Exercicio 014](exercicios/014.py) 108 | 109 | João Papo-de-Pescador, homem de bem, comprou um microcomputador para controlar 110 | o rendimento diário de seu trabalho. 111 | 112 | Toda vez que ele traz um peso de peixes maior que o estabelecido pelo 113 | regulamento de pesca do estado de São Paulo (50 quilos) deve pagar uma multa 114 | de R$ 4,00 por quilo excedente. 115 | 116 | João precisa que você faça um programa que leia a variável peso 117 | (peso de peixes) e calcule o excesso. 118 | 119 | Gravar na variável excesso a quantidade de quilos além do limite 120 | e na variável multa o valor da multa que João deverá pagar. 121 | Imprima os dados do programa com as mensagens adequadas. 122 | 123 | #### [Exercicio 015](exercicios/015.py) 124 | 125 | Faça um Programa que pergunte quanto você ganha por hora e o número de horas 126 | trabalhadas no mês. 127 | 128 | Calcule e mostre o total do seu salário no referido mês, 129 | sabendo-se que são descontados 11% para o Imposto de Renda, 130 | 8% para o INSS e 5% para o sindicato, faça um programa que nos dê: 131 | salário bruto. 132 | quanto pagou ao INSS. 133 | quanto pagou ao sindicato. 134 | o salário líquido. 135 | calcule os descontos e o salário líquido, conforme a tabela abaixo: 136 | 137 | + Salário Bruto : R$ 138 | - IR (11%) : R$ 139 | - INSS (8%) : R$ 140 | - Sindicato ( 5%) : R$ 141 | = Salário Liquido : R$ 142 | 143 | Obs.: Salário Bruto - Descontos = Salário Líquido. 144 | 145 | #### [Exercicio 016](exercicios/016.py) 146 | 147 | Faça um programa para uma loja de tintas. 148 | O programa deverá pedir o tamanho em metros quadrados da área a ser pintada. 149 | 150 | Considere que a cobertura da tinta é de 1 litro para cada 3 metros 151 | quadrados e que a tinta é vendida em latas de 18 litros, que custam R$ 80,00. 152 | 153 | Informe ao usuário a quantidades de latas de tinta 154 | a serem compradas e o preço total. 155 | 156 | #### [Exercicio 017](exercicios/017.py) 157 | 158 | Faça um Programa para uma loja de tintas. 159 | 160 | O programa deverá pedir o tamanho em metros quadrados da área a ser pintada. 161 | 162 | Considere que a cobertura da tinta é de 1 litro para cada 6 metros quadrados 163 | e que a tinta é vendida em latas de 18 litros, que custam R$ 80,00 164 | ou em galões de 3,6 litros, que custam R$ 25,00. 165 | 166 | Informe ao usuário as quantidades de tinta a serem compradas 167 | e os respectivos preços em 3 situações: 168 | 169 | comprar apenas latas de 18 litros; 170 | comprar apenas galões de 3,6 litros; 171 | misturar latas e galões, de forma que o preço seja o menor. 172 | Acrescente 10% de folga e sempre arredonde os valores para cima, 173 | isto é, considere latas cheias. 174 | 175 | #### [Exercicio 018](exercicios/018.py) 176 | 177 | Faça um programa que peça o tamanho de um arquivo para download (em MB) e a 178 | velocidade de um link de Internet (em Mbps), calcule e informe o tempo 179 | aproximado de download do arquivo usando este link (em minutos). 180 | 181 | ### Estruturas de decisão 182 | #### [Exercicio 019](exercicios/019.py) 183 | 184 | Faça um Programa que peça dois números e imprima o maior deles. 185 | 186 | #### [Exercicio 020](exercicios/020.py) 187 | 188 | Faça um Programa que peça um valor e mostre na tela se o valor é 189 | positivo ou negativo. 190 | 191 | #### [Exercicio 021](exercicios/021.py) 192 | 193 | Faça um Programa que verifique se uma letra digitada é "F" ou "M". 194 | Conforme a letra escrever: F - Feminino, M - Masculino, Sexo Inválido. 195 | 196 | #### [Exercicio 022](exercicios/022.py) 197 | 198 | Faça um Programa que verifique se uma letra digitada é vogal ou consoante. 199 | 200 | #### [Exercicio 023](exercicios/023.py) 201 | 202 | Faça um programa para a leitura de duas notas parciais de um aluno. 203 | O programa deve calcular a média alcançada por aluno e apresentar: 204 | A mensagem "Aprovado", se a média alcançada for maior ou igual a sete; 205 | A mensagem "Reprovado", se a média for menor do que sete; 206 | A mensagem "Aprovado com Distinção", se a média for igual a dez. 207 | 208 | #### [Exercicio 024](exercicios/024.py) 209 | 210 | Faça um Programa que leia três números e mostre o maior deles. 211 | 212 | #### [Exercicio 025](exercicios/025.py) 213 | 214 | Faça um Programa que leia três números e mostre o maior e o menor deles. 215 | 216 | #### [Exercicio 026](exercicios/026.py) 217 | 218 | Faça um programa que pergunte o preço de três produtos e informe qual produto 219 | você deve comprar, sabendo que a decisão é sempre pelo mais barato. 220 | 221 | #### [Exercicio 027](exercicios/027.py) 222 | 223 | Faça um Programa que leia três números e mostre-os em ordem decrescente. 224 | 225 | #### [Exercicio 028](exercicios/028.py) 226 | 227 | Faça um Programa que pergunte em que turno você estuda. 228 | Peça para digitar M-matutino ou V-Vespertino ou N- Noturno. 229 | 230 | Imprima a mensagem "Bom Dia!", "Boa Tarde!" ou "Boa Noite!" ou 231 | "Valor Inválido!", conforme o caso. 232 | 233 | #### [Exercicio 029](exercicios/029.py) 234 | 235 | As Organizações Tabajara resolveram dar um aumento de salário aos seus 236 | colaboradores e lhe contrataram para desenvolver o programa que calculará os 237 | reajustes. 238 | 239 | Faça um programa que recebe o salário de um colaborador e o reajuste segundo o 240 | seguinte critério, baseado no salário atual: 241 | 242 | salários até R$ 280,00 (incluindo) : aumento de 20% 243 | salários entre R$ 280,00 e R$ 700,00 : aumento de 15% 244 | salários entre R$ 700,00 e R$ 1500,00 : aumento de 10% 245 | salários de R$ 1500,00 em diante : 246 | aumento de 5% Após o aumento ser realizado, 247 | informe na tela: 248 | o salário antes do reajuste; 249 | o percentual de aumento aplicado; 250 | o valor do aumento; 251 | o novo salário, após o aumento. 252 | 253 | #### [Exercicio 030](exercicios/030.py) 254 | 255 | Faça um programa para o cálculo de uma folha de pagamento, sabendo que os 256 | descontos são do Imposto de Renda, que depende do salário bruto 257 | (conforme tabela abaixo) e 10% para o INSS e que o FGTS corresponde a 11% do 258 | Salário Bruto, mas não é descontado (é a empresa que deposita). 259 | 260 | O Salário Líquido corresponde ao Salário Bruto menos os descontos. 261 | O programa deverá pedir ao usuário o valor da sua hora e a quantidade de horas 262 | trabalhadas no mês. 263 | 264 | Desconto do IR: 265 | Salário Bruto até 900 (inclusive) - isento 266 | Salário Bruto até 1500 (inclusive) - desconto de 5% 267 | Salário Bruto até 2500 (inclusive) - desconto de 10% 268 | Salário Bruto acima de 2500 - desconto de 20% 269 | 270 | Imprima na tela as informações, dispostas conforme o exemplo abaixo. 271 | No exemplo o valor da hora é 5 e a quantidade de hora é 220. 272 | 273 | Salário Bruto: (5 * 220) : R$ 1100,00 274 | (-) IR (5%) : R$ 55,00 275 | (-) INSS ( 10%) : R$ 110,00 276 | FGTS (11%) : R$ 121,00 277 | Total de descontos : R$ 165,00 278 | Salário Liquido : R$ 935,00 279 | 280 | #### [Exercicio 031](exercicios/031.py) 281 | 282 | Faça um Programa que leia um número e exiba o dia correspondente da semana. 283 | (1-Domingo, 2- Segunda, etc.), 284 | se digitar outro valor deve aparecer valor inválido. 285 | 286 | #### [Exercicio 032](exercicios/032.py) 287 | 288 | Faça um programa que lê as duas notas parciais obtidas por um aluno numa 289 | disciplina ao longo de um semestre, e calcule a sua média. 290 | 291 | A atribuição de conceitos obedece à tabela abaixo: 292 | Média de Aproveitamento Conceito 293 | Entre 9.0 e 10.0 A 294 | Entre 7.5 e 9.0 B 295 | Entre 6.0 e 7.5 C 296 | Entre 4.0 e 6.0 D 297 | Entre 4.0 e zero E 298 | 299 | O algoritmo deve mostrar na tela as notas, a média, 300 | o conceito correspondente e a mensagem “APROVADO” se o conceito for A, B ou C 301 | ou “REPROVADO” se o conceito for D ou E. 302 | 303 | #### [Exercicio 033](exercicios/033.py) 304 | 305 | Faça um Programa que peça os 3 lados de um triângulo. 306 | O programa deverá informar se os valores podem ser um triângulo. 307 | Indique, caso os lados formem um triângulo, se o mesmo é: 308 | equilátero, isósceles ou escaleno. 309 | 310 | Dicas: 311 | Três lados formam um triângulo quando a soma de 312 | quaisquer dois lados for maior que o terceiro; 313 | Triângulo Equilátero: três lados iguais; 314 | Triângulo Isósceles: quaisquer dois lados iguais; 315 | Triângulo Escaleno: três lados diferentes; 316 | 317 | #### [Exercicio 034](exercicios/034.py) 318 | 319 | Faça um programa que calcule as raízes de uma equação do segundo grau, 320 | na forma ax² + bx + c. 321 | 322 | O programa deverá pedir os valores de a, b e c e fazer as consistências, 323 | informando ao usuário nas seguintes situações: 324 | 325 | Se o usuário informar o valor de A igual a zero, a equação não é do segundo 326 | grau e o programa não deve fazer pedir os demais valores, 327 | sendo encerrado; 328 | Se o delta calculado for negativo, a equação não possui raízes reais. 329 | Informe ao usuário e encerre o programa; 330 | Se o delta calculado for igual a zero a equação possui apenas uma raiz 331 | real; informe-a ao usuário; 332 | Se o delta for positivo, a equação possui duas raiz reais; 333 | informe-as ao usuário; 334 | 335 | #### [Exercicio 035](exercicios/035.py) 336 | 337 | Faça um Programa que peça um número correspondente a um determinado ano e em 338 | seguida informe se este ano é ou não bissexto. 339 | 340 | #### [Exercicio 036](exercicios/036.py) 341 | 342 | Faça um Programa que peça uma data no formato dd/mm/aaaa e determine se a mesma 343 | é uma data válida. 344 | 345 | #### [Exercicio 037](exercicios/037.py) 346 | 347 | Faça um Programa que leia um número inteiro maior que 0 e menor que 1000 e 348 | imprima a quantidade de centenas, dezenas e unidades do mesmo. 349 | 350 | Observando os termos no plural a colocação do "e", da vírgula entre outros. 351 | 352 | Exemplo: 353 | 326 = 3 centenas, 2 dezenas e 6 unidades 354 | 12 = 1 dezena e 2 unidades 355 | 356 | Testar com: 357 | 326, 300, 100, 320, 310,305, 301, 101, 311, 111, 25, 20, 10, 21, 11, 1, 7 e 16 358 | 359 | #### [Exercicio 038](exercicios/038.py) 360 | 361 | Faça um Programa para um caixa eletrônico. 362 | 363 | O programa deverá perguntar ao usuário a valor do saque e depois informar 364 | quantas notas de cada valor serão fornecidas. 365 | 366 | As notas disponíveis serão as de 1, 5, 10, 50 e 100 reais. 367 | O valor mínimo é de 10 reais e o máximo de 600 reais. 368 | 369 | O programa não deve se preocupar com a quantidade de notas existentes na 370 | máquina. 371 | 372 | Exemplo 1: 373 | Para sacar a quantia de 256 reais, o programa fornece duas notas de 100, 374 | uma nota de 50, uma nota de 5 e uma nota de 1; 375 | 376 | Exemplo 2: 377 | Para sacar a quantia de 399 reais, o programa fornece três notas de 100, 378 | uma nota de 50, quatro notas de 10, uma nota de 5 e quatro notas de 1. 379 | 380 | #### [Exercicio 039](exercicios/039.py) 381 | 382 | Faça um Programa que peça um número inteiro e determine se ele é par ou impar. 383 | Dica: utilize o operador módulo (resto da divisão). 384 | 385 | #### [Exercicio 040](exercicios/040.py) 386 | 387 | Faça um Programa que peça um número e informe se o número é inteiro ou decimal. 388 | Dica: utilize uma função de arredondamento. 389 | 390 | #### [Exercicio 041](exercicios/041.py) 391 | 392 | Faça um Programa que leia 2 números e em seguida pergunte ao usuário qual 393 | operação ele deseja realizar. 394 | 395 | O resultado da operação deve ser acompanhado de uma 396 | frase que diga se o número é: 397 | par ou ímpar; 398 | positivo ou negativo; 399 | inteiro ou decimal. 400 | 401 | #### [Exercicio 042](exercicios/042.py) 402 | 403 | Faça um programa que faça 5 perguntas para uma pessoa sobre um crime. 404 | As perguntas são: 405 | "Telefonou para a vítima?" 406 | "Esteve no local do crime?" 407 | "Mora perto da vítima?" 408 | "Devia para a vítima?" 409 | "Já trabalhou com a vítima?" 410 | 411 | O programa deve no final emitir uma classificação sobre a participação 412 | da pessoa no crime. 413 | 414 | Se a pessoa responder positivamente a 2 questões ela deve ser classificada 415 | como "Suspeita", entre 3 e 4 como "Cúmplice" e 5 como "Assassino". 416 | Caso contrário, ele será classificado como "Inocente". 417 | 418 | #### [Exercicio 043](exercicios/043.py) 419 | 420 | Um posto está vendendo combustíveis com a seguinte tabela de descontos: 421 | Álcool: 422 | até 20 litros, desconto de 3% por litro 423 | acima de 20 litros, desconto de 5% por litro 424 | Gasolina: 425 | até 20 litros, desconto de 4% por litro 426 | acima de 20 litros, desconto de 6% por litro 427 | 428 | Escreva um algoritmo que leia o número de litros vendidos, 429 | o tipo de combustível (codificado da seguinte forma: A-álcool, G-gasolina), 430 | calcule e imprima o valor a ser pago pelo cliente sabendo-se que o preço do 431 | litro da gasolina é R$ 2,50 o preço do litro do álcool é R$ 1,90. 432 | 433 | #### [Exercicio 044](exercicios/044.py) 434 | 435 | Uma fruteira está vendendo frutas com a seguinte tabela de preços: 436 | 437 | Até 5 Kg Acima de 5 Kg 438 | Morango R$ 2,50 por Kg R$ 2,20 por Kg 439 | Maçã R$ 1,80 por Kg R$ 1,50 por Kg 440 | 441 | Se o cliente comprar mais de 8 Kg em frutas ou o valor total da compra 442 | ultrapassar R$ 25,00, receberá ainda um desconto de 10% sobre este total. 443 | 444 | Escreva um algoritmo para ler a quantidade (em Kg) de morangos e a quantidade 445 | (em Kg) de maças adquiridas e escreva o valor a ser pago pelo cliente. 446 | 447 | #### [Exercicio 045](exercicios/045.py) 448 | 449 | O Hipermercado Tabajara está com uma promoção de carnes que é imperdível. 450 | Confira: 451 | 452 | Até 5 Kg Acima de 5 Kg 453 | File Duplo R$ 4,90 por Kg R$ 5,80 por Kg 454 | Alcatra R$ 5,90 por Kg R$ 6,80 por Kg 455 | Picanha R$ 6,90 por Kg R$ 7,80 por Kg 456 | 457 | Para atender a todos os clientes, cada cliente poderá levar apenas um dos tipos 458 | de carne da promoção, porém não há limites para a quantidade de carne 459 | por cliente. 460 | 461 | Se compra for feita no cartão Tabajara o cliente receberá ainda um desconto de 462 | 5% sobre o total da compra. 463 | 464 | Escreva um programa que peça o tipo e a quantidade de carne comprada pelo 465 | usuário e gere um cupom fiscal, contendo as informações da compra: 466 | tipo de carne 467 | quantidade de carne 468 | preço total 469 | tipo de pagamento 470 | valor do desconto 471 | valor a pagar. 472 | 473 | ### Estruturas de repetição 474 | #### [Exercicio 046](exercicios/046.py) 475 | 476 | Faça um programa que peça uma nota, entre zero e dez. 477 | Mostre uma mensagem caso o valor seja inválido e continue pedindo até que o 478 | usuário informe um valor válido. 479 | 480 | #### [Exercicio 047](exercicios/047.py) 481 | 482 | Faça um programa que leia um nome de usuário e a sua senha e não aceite a senha 483 | igual ao nome do usuário, mostrando uma mensagem de erro e voltando a 484 | pedir as informações. 485 | 486 | #### [Exercicio 048](exercicios/048.py) 487 | 488 | Faça um programa que leia e valide as seguintes informações: 489 | Nome: maior que 3 caracteres; 490 | Idade: entre 0 e 150; 491 | Salário: maior que zero; 492 | Sexo: 'f' ou 'm'; 493 | Estado Civil: 's', 'c', 'v', 'd'; 494 | 495 | #### [Exercicio 049](exercicios/049.py) 496 | 497 | Supondo que a população de um país A seja da ordem de 80000 habitantes com uma 498 | taxa anual de crescimento de 3% e que a população de B seja 200000 habitantes 499 | com uma taxa de crescimento de 1.5%. 500 | 501 | Faça um programa que calcule e escreva o número de anos necessários para que a 502 | população do país A ultrapasse ou iguale a população do país B, mantidas as 503 | taxas de crescimento. 504 | 505 | #### [Exercicio 050](exercicios/050.py) 506 | 507 | Altere o programa anterior permitindo ao usuário informar as populações e as 508 | taxas de crescimento iniciais. Valide a entrada e permita repetir a operação. 509 | 510 | #### [Exercicio 051](exercicios/051.py) 511 | 512 | Faça um programa que imprima na tela os números de 1 a 20, um abaixo do outro. 513 | Depois modifique o programa para que ele mostre os números um ao lado do outro. 514 | 515 | #### [Exercicio 052](exercicios/052.py) 516 | 517 | Faça um programa que leia 5 números e informe o maior número. 518 | 519 | #### [Exercicio 053](exercicios/053.py) 520 | 521 | Faça um programa que leia 5 números e informe a soma e a média dos números. 522 | 523 | #### [Exercicio 054](exercicios/054.py) 524 | 525 | Faça um programa que imprima na tela apenas os números ímpares entre 1 e 50. 526 | 527 | #### [Exercicio 055](exercicios/055.py) 528 | 529 | Faça um programa que receba dois números inteiros e gere os números inteiros 530 | que estão no intervalo compreendido por eles. 531 | 532 | #### [Exercicio 056](exercicios/056.py) 533 | 534 | Altere o programa anterior para mostrar no final a soma dos números. 535 | 536 | #### [Exercicio 057](exercicios/057.py) 537 | 538 | Desenvolva um gerador de tabuada, capaz de gerar a tabuada de qualquer número 539 | inteiro entre 1 a 10. 540 | O usuário deve informar de qual numero ele deseja ver a tabuada. 541 | A saída deve ser conforme o exemplo abaixo: 542 | Tabuada de 5: 543 | 5 X 1 = 5 544 | 5 X 2 = 10 545 | ... 546 | 5 X 10 = 50 547 | 548 | #### [Exercicio 058](exercicios/058.py) 549 | 550 | Faça um programa que peça dois números, base e expoente, 551 | calcule e mostre o primeiro número elevado ao segundo número. 552 | Não utilize a função de potência da linguagem. 553 | 554 | #### [Exercicio 059](exercicios/059.py) 555 | 556 | Faça um programa que peça 10 números inteiros, calcule e mostre a quantidade de 557 | números pares e a quantidade de números impares. 558 | 559 | #### [Exercicio 060](exercicios/060.py) 560 | 561 | A série de Fibonacci é formada pela seqüência 1,1,2,3,5,8,13,21,34,55,... 562 | Faça um programa capaz de gerar a série até o n−ésimo termo. 563 | 564 | #### [Exercicio 061](exercicios/061.py) 565 | 566 | Faça um programa que calcule o fatorial de um número inteiro fornecido pelo 567 | usuário. Ex.: 5!=5.4.3.2.1=120 568 | 569 | #### [Exercicio 062](exercicios/062.py) 570 | 571 | Faça um programa que, dado um conjunto de N números, determine o menor valor, 572 | o maior valor e a soma dos valores. 573 | 574 | #### [Exercicio 063](exercicios/063.py) 575 | 576 | Altere o programa anterior para que ele aceite apenas números entre 0 e 1000. 577 | 578 | #### [Exercicio 064](exercicios/064.py) 579 | 580 | Altere o programa de cálculo do fatorial, permitindo ao usuário calcular o 581 | fatorial várias vezes e limitando o fatorial a números inteiros positivos e 582 | menores que 16. 583 | 584 | #### [Exercicio 065](exercicios/065.py) 585 | 586 | Faça um programa que peça um número inteiro e determine se ele é ou não um 587 | número primo. Um número primo é aquele que é divisível somente por ele mesmo 588 | e por 1. 589 | 590 | #### [Exercicio 066](exercicios/066.py) 591 | 592 | Altere o programa de cálculo dos números primos, informando, caso o número não 593 | seja primo, por quais número ele é divisível. 594 | 595 | #### [Exercicio 067](exercicios/067.py) 596 | 597 | Faça um programa que mostre todos os primos entre 1 e N sendo N um número 598 | inteiro fornecido pelo usuário. 599 | 600 | O programa deverá mostrar também o número de divisões que ele executou para 601 | encontrar os números primos. 602 | 603 | Serão avaliados o funcionamento, o estilo e o número de testes (divisões) 604 | executados. 605 | 606 | #### [Exercicio 068](exercicios/068.py) 607 | 608 | Faça um programa que calcule o mostre a média aritmética de N notas. 609 | 610 | #### [Exercicio 069](exercicios/069.py) 611 | 612 | Faça um programa que peça para n pessoas a sua idade, ao final o programa 613 | deverá verificar se a média de idade da turma varia entre 0 e 25,26 e 60 e 614 | maior que 60; e então, dizer se a turma é jovem, adulta ou idosa, conforme a 615 | média calculada. 616 | 617 | #### [Exercicio 070](exercicios/070.py) 618 | 619 | Numa eleição existem três candidatos. 620 | Faça um programa que peça o número total de eleitores. 621 | Peça para cada eleitor votar e ao final mostrar o número de votos 622 | de cada candidato. 623 | 624 | #### [Exercicio 071](exercicios/071.py) 625 | 626 | Faça um programa que calcule o número médio de alunos por turma. 627 | Para isto, peça a quantidade de turmas e a quantidade de 628 | alunos para cada turma. 629 | As turmas não podem ter mais de 40 alunos. 630 | 631 | #### [Exercicio 072](exercicios/072.py) 632 | 633 | Faça um programa que calcule o valor total investido por um colecionador em sua 634 | coleção de CDs e o valor médio gasto em cada um deles. 635 | O usuário deverá informar a quantidade de CDs e o valor para em cada um. 636 | 637 | #### [Exercicio 073](exercicios/073.py) 638 | 639 | O Sr. Manoel Joaquim possui uma grande loja de artigos de R$ 1,99, 640 | com cerca de 10 caixas. 641 | 642 | Para agilizar o cálculo de quanto cada cliente deve pagar ele desenvolveu uma 643 | tabela que contém o número de itens que o cliente comprou e ao lado 644 | o valor da conta. 645 | 646 | Desta forma a atendente do caixa precisa apenas contar quantos itens o cliente 647 | está levando e olhar na tabela de preços. 648 | 649 | Você foi contratado para desenvolver o programa que monta esta 650 | tabela de preços, que conterá os preços de 1 até 50 produtos, 651 | conforme o exemplo abaixo: 652 | 653 | Lojas Quase Dois - Tabela de preços 654 | 1 - R$ 1.99 655 | 2 - R$ 3.98 656 | ... 657 | 50 - R$ 99.50 658 | 659 | #### [Exercicio 074](exercicios/074.py) 660 | 661 | O Sr. Manoel Joaquim acaba de adquirir uma panificadora e pretende implantar a 662 | metodologia da tabelinha, que já é um sucesso na sua loja de 1,99. 663 | 664 | Você foi contratado para desenvolver o programa que monta a tabela de preços de 665 | pães, de 1 até 50 pães, a partir do preço do pão informado pelo usuário, 666 | conforme o exemplo abaixo: 667 | 668 | Preço do pão: R$ 0.18 669 | Panificadora Pão de Ontem - Tabela de preços 670 | 1 - R$ 0.18 671 | 2 - R$ 0.36 672 | ... 673 | 50 - R$ 9.00 674 | 675 | #### [Exercicio 075](exercicios/075.py) 676 | 677 | O Sr. Manoel Joaquim expandiu seus negócios para além dos negócios de 1,99 e 678 | agora possui uma loja de conveniências. 679 | 680 | Faça um programa que implemente uma caixa registradora rudimentar. 681 | 682 | O programa deverá receber um número desconhecido de valores referentes aos 683 | preços das mercadorias. 684 | 685 | Um valor zero deve ser informado pelo operador para indicar o final da compra. 686 | 687 | O programa deve então mostrar o total da compra e perguntar o valor em dinheiro 688 | que o cliente forneceu, para então calcular e mostrar o valor do troco. 689 | 690 | Após esta operação, o programa deverá voltar ao ponto inicial, para registrar a 691 | próxima compra. 692 | 693 | A saída deve ser conforme o exemplo abaixo: 694 | Lojas Tabajara 695 | Produto 1: R$ 2.20 696 | Produto 2: R$ 5.80 697 | Produto 3: R$ 0 698 | Total: R$ 9.00 699 | Dinheiro: R$ 20.00 700 | Troco: R$ 11.00 701 | 702 | #### [Exercicio 076](exercicios/076.py) 703 | 704 | O Departamento Estadual de Meteorologia lhe contratou para desenvolver um 705 | programa que leia as um conjunto indeterminado de temperaturas, 706 | e informe ao final a menor e a maior temperaturas informadas, 707 | bem como a média das temperaturas. 708 | 709 | #### [Exercicio 077](exercicios/077.py) 710 | 711 | Desenvolva um programa que faça a tabuada de um número qualquer inteiro que 712 | será digitado pelo usuário, mas a tabuada não deve necessariamente iniciar em 1 713 | e terminar em 10, o valor inicial e final devem ser informados também pelo 714 | usuário, conforme exemplo abaixo: 715 | 716 | Montar a tabuada de: 5 717 | Começar por: 4 718 | Terminar em: 7 719 | 720 | Vou montar a tabuada de 5 começando em 4 e terminando em 7: 721 | 5 X 4 = 20 722 | 5 X 5 = 25 723 | 5 X 6 = 30 724 | 5 X 7 = 35 725 | 726 | Obs: Você deve verificar se o usuário não digitou o final menor que o inicial. 727 | 728 | #### [Exercicio 078](exercicios/078.py) 729 | 730 | Uma academia deseja fazer um senso entre seus clientes para descobrir o mais 731 | alto, o mais baixo, a mais gordo e o mais magro, para isto você deve fazer um 732 | programa que pergunte a cada um dos clientes da academia seu código, 733 | sua altura e seu peso. 734 | 735 | O final da digitação de dados deve ser dada quando o usuário digitar 0 (zero) 736 | no campo código. 737 | 738 | Ao encerrar o programa também deve ser informados os códigos e valores do 739 | clente mais alto, do mais baixo, do mais gordo e do mais magro, além da média 740 | das alturas e dos pesos dos clientes. 741 | 742 | #### [Exercicio 079](exercicios/079.py) 743 | 744 | Um funcionário de uma empresa recebe aumento salarial anualmente. 745 | 746 | Sabe-se que: 747 | Esse funcionário foi contratado em 1995, com salário inicial de R$ 1.000,00; 748 | Em 1996 recebeu aumento de 1,5% sobre seu salário inicial; 749 | A partir de 1997 (inclusive), os aumentos salariais sempre correspondem ao 750 | dobro do percentual do ano anterior. 751 | 752 | Faça um programa que determine o salário atual desse funcionário. 753 | Após concluir isto, altere o programa permitindo que o usuário digite o salário 754 | inicial do funcionário. 755 | 756 | #### [Exercicio 080](exercicios/080.py) 757 | 758 | Faça um programa que leia dez conjuntos de dois valores, 759 | o primeiro representando o número do aluno e o segundo representando 760 | a sua altura em centímetros. 761 | 762 | Encontre o aluno mais alto e o mais baixo. 763 | 764 | Mostre o número do aluno mais alto e o número do aluno mais baixo, 765 | junto com suas alturas. 766 | 767 | #### [Exercicio 081](exercicios/081.py) 768 | 769 | Foi feita uma estatística em cinco cidades brasileiras para coletar dados sobre 770 | acidentes de trânsito. 771 | 772 | Foram obtidos os seguintes dados: 773 | Código da cidade; 774 | Número de veículos de passeio (em 1999); 775 | Número de acidentes de trânsito com vítimas (em 1999). 776 | 777 | Deseja-se saber: 778 | Qual o maior e menor índice de acidentes de transito 779 | e a que cidade pertence; 780 | Qual a média de veículos nas cinco cidades juntas; 781 | Qual a média de acidentes de trânsito nas cidades com menos de 782 | 2.000 veículos de passeio. 783 | 784 | #### [Exercicio 082](exercicios/082.py) 785 | 786 | Faça um programa que receba o valor de uma dívida e mostre uma tabela com os 787 | seguintes dados: valor da dívida, valor dos juros, quantidade de parcelas e 788 | valor da parcela. 789 | 790 | Os juros e a quantidade de parcelas seguem a tabela abaixo: 791 | Quantidade de Parcelas % de Juros sobre o valor inicial da dívida 792 | 1 0 793 | 3 10 794 | 6 15 795 | 9 20 796 | 12 25 797 | 798 | Exemplo de saída do programa: 799 | Valor da Dívida Valor dos Juros Quantidade de Parcelas Valor da Parcela 800 | R$ 1.000,00 0 1 R$ 1.000,00 801 | R$ 1.100,00 100 3 R$ 366,00 802 | R$ 1.150,00 150 6 R$ 191,67 803 | 804 | #### [Exercicio 083](exercicios/083.py) 805 | 806 | Faça um programa que leia uma quantidade indeterminada de números positivos e 807 | conte quantos deles estão nos seguintes intervalos: 808 | [0-25], [26-50], [51-75] e [76-100]. 809 | 810 | A entrada de dados deverá terminar quando for lido um número negativo. 811 | 812 | #### [Exercicio 084](exercicios/084.py) 813 | 814 | O cardápio de uma lanchonete é o seguinte: 815 | Especificação Código Preço 816 | Cachorro Quente 100 R$ 1,20 817 | Bauru Simples 101 R$ 1,30 818 | Bauru com ovo 102 R$ 1,50 819 | Hambúrguer 103 R$ 1,20 820 | Cheeseburguer 104 R$ 1,30 821 | Refrigerante 105 R$ 1,00 822 | Faça um programa que leia o código dos itens pedidos e as quantidades 823 | desejadas. 824 | 825 | Calcule e mostre o valor a ser pago por item (preço * quantidade) e o total 826 | geral do pedido. 827 | 828 | Considere que o cliente deve informar quando o pedido deve ser encerrado. 829 | 830 | #### [Exercicio 085](exercicios/085.py) 831 | 832 | Em uma eleição presidencial existem quatro candidatos. 833 | Os votos são informados por meio de código. 834 | Os códigos utilizados são: 835 | 1, 2, 3, 4 - Votos para os respectivos candidatos 836 | (você deve montar a tabela ex: 1 - Jose/ 2- João/etc) 837 | 5 - Voto Nulo 838 | 6 - Voto em Branco 839 | 840 | Faça um programa que calcule e mostre: 841 | O total de votos para cada candidato; 842 | O total de votos nulos; 843 | O total de votos em branco; 844 | A percentagem de votos nulos sobre o total de votos; 845 | A percentagem de votos em branco sobre o total de votos. 846 | 847 | Para finalizar o conjunto de votos tem-se o valor zero. 848 | 849 | #### [Exercicio 086](exercicios/086.py) 850 | 851 | Desenvolver um programa para verificar a nota do aluno em uma prova com 10 852 | questões, o programa deve perguntar ao aluno a resposta de cada questão e ao 853 | final comparar com o gabarito da prova e assim calcular o total de acertos e a 854 | nota (atribuir 1 ponto por resposta certa). 855 | 856 | Após cada aluno utilizar o sistema deve ser feita uma pergunta se outro aluno 857 | vai utilizar o sistema. 858 | 859 | Após todos os alunos terem respondido informar: 860 | Maior e Menor Acerto; 861 | Total de Alunos que utilizaram o sistema; 862 | A Média das Notas da Turma. 863 | Gabarito da Prova: 864 | 01 - A 865 | 02 - B 866 | 03 - C 867 | 04 - D 868 | 05 - E 869 | 06 - E 870 | 07 - D 871 | 08 - C 872 | 09 - B 873 | 10 - A 874 | 875 | Após concluir isto você poderia incrementar o programa permitindo que o 876 | professor digite o gabarito da prova antes dos alunos usarem o programa. 877 | 878 | #### [Exercicio 087](exercicios/087.py) 879 | 880 | Em uma competição de salto em distância cada atleta tem direito a cinco saltos. 881 | No final da série de saltos de cada atleta, o melhor e o pior resultados são 882 | eliminados. 883 | 884 | O seu resultado fica sendo a média dos três valores restantes. 885 | Você deve fazer um programa que receba o nome e as cinco distâncias alcançadas 886 | pelo atleta em seus saltos e depois informe a média dos saltos conforme a 887 | descrição acima informada (retirar o melhor e o pior salto e depois 888 | calcular a média). 889 | 890 | Faça uso de uma lista para armazenar os saltos. 891 | Os saltos são informados na ordem da execução, portanto não são ordenados. 892 | O programa deve ser encerrado quando não for informado o nome do atleta. 893 | A saída do programa deve ser conforme o exemplo abaixo: 894 | Atleta: Rodrigo Curvêllo 895 | 896 | Primeiro Salto: 6.5 m 897 | Segundo Salto: 6.1 m 898 | Terceiro Salto: 6.2 m 899 | Quarto Salto: 5.4 m 900 | Quinto Salto: 5.3 m 901 | 902 | Melhor salto: 6.5 m 903 | Pior salto: 5.3 m 904 | Média dos demais saltos: 5.9 m 905 | 906 | Resultado final: 907 | Rodrigo Curvêllo: 5.9 m 908 | 909 | #### [Exercicio 088](exercicios/088.py) 910 | 911 | Em uma competição de ginástica, cada atleta recebe votos de sete jurados. 912 | A melhor e a pior nota são eliminadas. 913 | A sua nota fica sendo a média dos votos restantes. 914 | 915 | Você deve fazer um programa que receba o nome do ginasta e as notas dos sete 916 | jurados alcançadas pelo atleta em sua apresentação e depois informe a sua 917 | média, conforme a descrição acima informada (retirar o melhor e o pior salto e 918 | depois calcular a média com as notas restantes). 919 | 920 | As notas não são informados ordenadas. 921 | Um exemplo de saída do programa deve ser conforme o exemplo abaixo: 922 | Atleta: Aparecido Parente 923 | Nota: 9.9 924 | Nota: 7.5 925 | Nota: 9.5 926 | Nota: 8.5 927 | Nota: 9.0 928 | Nota: 8.5 929 | Nota: 9.7 930 | 931 | Resultado final: 932 | Atleta: Aparecido Parente 933 | Melhor nota: 9.9 934 | Pior nota: 7.5 935 | Média: 9,04 936 | 937 | #### [Exercicio 089](exercicios/089.py) 938 | 939 | Faça um programa que peça um numero inteiro positivo e em seguida mostre este 940 | numero invertido. 941 | Exemplo: 942 | 12376489 943 | => 98467321 944 | 945 | #### [Exercicio 090](exercicios/090.py) 946 | 947 | Faça um programa que mostre os n termos da Série a seguir: 948 | S = 1/1 + 2/3 + 3/5 + 4/7 + 5/9 + ... + n/m. 949 | Imprima no final a soma da série. 950 | 951 | #### [Exercicio 091](exercicios/091.py) 952 | 953 | Sendo H= 1 + 1/2 + 1/3 + 1/4 + ... + 1/N, 954 | Faça um programa que calcule o valor de H com N termos. 955 | 956 | ### Listas 957 | 958 | #### [Exercicio 092](exercicios/092.py) 959 | 960 | Faça um Programa que leia um vetor de 5 números inteiros e mostre-os. 961 | 962 | #### [Exercicio 093](exercicios/093.py) 963 | 964 | Faça um Programa que leia um vetor de 10 números reais e mostre-os na ordem 965 | inversa. 966 | 967 | #### [Exercicio 094](exercicios/094.py) 968 | 969 | Faça um Programa que leia 4 notas, mostre as notas e a média na tela. 970 | 971 | #### [Exercicio 095](exercicios/095.py) 972 | 973 | Faça um Programa que leia um vetor de 10 caracteres, e diga quantas consoantes 974 | foram lidas. Imprima as consoantes. 975 | 976 | #### [Exercicio 096](exercicios/096.py) 977 | 978 | Faça um Programa que leia 20 números inteiros e armazene-os num vetor. 979 | Armazene os números pares no vetor PAR e os números IMPARES no vetor impar. 980 | Imprima os três vetores. 981 | 982 | #### [Exercicio 097](exercicios/097.py) 983 | 984 | Faça um Programa que peça as quatro notas de 10 alunos, calcule e armazene num 985 | vetor a média de cada aluno, imprima o número de alunos com média maior ou 986 | igual a 7.0. 987 | 988 | #### [Exercicio 098](exercicios/098.py) 989 | 990 | Faça um Programa que leia um vetor de 5 números inteiros, mostre a soma, a 991 | multiplicação e os números. 992 | 993 | #### [Exercicio 099](exercicios/099.py) 994 | 995 | Faça um Programa que peça a idade e a altura de 5 pessoas, armazene cada 996 | informação no seu respectivo vetor. Imprima a idade e a altura na ordem 997 | inversa a ordem lida. 998 | 999 | #### [Exercicio 100](exercicios/100.py) 1000 | 1001 | Faça um Programa que leia um vetor A com 10 números inteiros, calcule e mostre 1002 | a soma dos quadrados dos elementos do vetor. 1003 | 1004 | #### [Exercicio 101](exercicios/101.py) 1005 | 1006 | Faça um Programa que leia dois vetores com 10 elementos cada. 1007 | Gere um terceiro vetor de 20 elementos, cujos valores deverão ser compostos 1008 | pelos elementos intercalados dos dois outros vetores. 1009 | 1010 | #### [Exercicio 102](exercicios/102.py) 1011 | 1012 | Altere o programa anterior, intercalando 3 vetores de 10 elementos cada. 1013 | 1014 | #### [Exercicio 103](exercicios/103.py) 1015 | 1016 | Foram anotadas as idades e alturas de 30 alunos. 1017 | Faça um Programa que determine quantos alunos com mais de 13 anos possuem 1018 | altura inferior à média de altura desses alunos. 1019 | 1020 | #### [Exercicio 104](exercicios/104.py) 1021 | 1022 | Faça um programa que receba a temperatura média de cada mês do ano e 1023 | armazene-as em uma lista. 1024 | Após isto, calcule a média anual das temperaturas e mostre todas as 1025 | temperaturas acima da média anual, e em que mês elas ocorreram 1026 | (mostrar o mês por extenso: 1 – Janeiro, 2 – Fevereiro, . . . ). 1027 | 1028 | #### [Exercicio 105](exercicios/105.py) 1029 | 1030 | Faça um programa que leia um número indeterminado de valores, correspondentes a 1031 | notas, encerrando a entrada de dados quando for informado um valor igual a -1 1032 | (que não deve ser armazenado). 1033 | 1034 | Após esta entrada de dados, faça: 1035 | Mostre a quantidade de valores que foram lidos; 1036 | Exiba todos os valores na ordem em que foram informados, 1037 | um ao lado do outro; 1038 | Exiba todos os valores na ordem inversa à que foram informados, 1039 | um abaixo do outro; 1040 | Calcule e mostre a soma dos valores; 1041 | Calcule e mostre a média dos valores; 1042 | Calcule e mostre a quantidade de valores acima da média calculada; 1043 | Calcule e mostre a quantidade de valores abaixo de sete; 1044 | Encerre o programa com uma mensagem; 1045 | 1046 | #### [Exercicio 106](exercicios/106.py) 1047 | 1048 | Utilize uma lista para resolver o problema a seguir. 1049 | Uma empresa paga seus vendedores com base em comissões. 1050 | O vendedor recebe $200 por semana mais 9 por cento de suas vendas brutas 1051 | daquela semana. 1052 | Por exemplo, um vendedor que teve vendas brutas de $3000 em uma semana recebe 1053 | $200 mais 9 por cento de $3000, ou seja, um total de $470. 1054 | Escreva um programa (usando um array de contadores) que determine quantos 1055 | vendedores receberam salários nos seguintes intervalos de valores: 1056 | $200 - $299 1057 | $300 - $399 1058 | $400 - $499 1059 | $500 - $599 1060 | $600 - $699 1061 | $700 - $799 1062 | $800 - $899 1063 | $900 - $999 1064 | $1000 em diante 1065 | Desafio: 1066 | Crie ma fórmula para chegar na posição da lista a partir do salário, 1067 | sem fazer vários ifs aninhados. 1068 | 1069 | #### [Exercicio 107](exercicios/107.py) 1070 | 1071 | Uma grande emissora de televisão quer fazer uma enquete entre os seus 1072 | telespectadores para saber qual o melhor jogador após cada jogo. 1073 | Para isto, faz-se necessário o desenvolvimento de um programa, que será 1074 | utilizado pelas telefonistas, para a computação dos votos. 1075 | Sua equipe foi contratada para desenvolver este programa. 1076 | Para computar cada voto, a telefonista digitará um número, entre 1 e 23, 1077 | correspondente ao número da camisa do jogador. 1078 | Um número de jogador igual zero, indica que a votação foi encerrada. 1079 | Se um número inválido for digitado, o programa deve ignorá-lo, mostrando uma 1080 | breve mensagem de aviso, e voltando a pedir outro número. 1081 | Após o final da votação, o programa deverá exibir: 1082 | O total de votos computados; 1083 | Os númeos e respectivos votos de todos os jogadores que receberam votos; 1084 | O percentual de votos de cada um destes jogadores; 1085 | O número do jogador escolhido como o melhor jogador da partida, 1086 | juntamente com o número de votos e o percentual de votos dados a ele. 1087 | Observe que os votos inválidos e o zero final não devem ser computados 1088 | como votos. 1089 | O resultado aparece ordenado pelo número do jogador. 1090 | O programa deve fazer uso de arrays. 1091 | O programa deverá executar o cálculo do percentual de cada jogador 1092 | através de uma função. Esta função receberá dois parâmetros: 1093 | o número de votos de um jogador e o total de votos. 1094 | A função calculará o percentual e retornará o valor calculado. 1095 | 1096 | Exemplo: 1097 | Enquete: Quem foi o melhor jogador? 1098 | 1099 | Número do jogador (0=fim): 9 1100 | Número do jogador (0=fim): 10 1101 | Número do jogador (0=fim): 9 1102 | Número do jogador (0=fim): 10 1103 | Número do jogador (0=fim): 11 1104 | Número do jogador (0=fim): 10 1105 | Número do jogador (0=fim): 50 1106 | Informe um valor entre 1 e 23 ou 0 para sair! 1107 | Número do jogador (0=fim): 9 1108 | Número do jogador (0=fim): 9 1109 | Número do jogador (0=fim): 0 1110 | 1111 | Resultado da votação: 1112 | 1113 | Foram computados 8 votos. 1114 | 1115 | Jogador Votos % 1116 | 9 4 50,0% 1117 | 10 3 37,5% 1118 | 11 1 12,5% 1119 | O melhor jogador foi o número 9, com 4 votos, 1120 | correspondendo a 50% do total de votos. 1121 | 1122 | #### [Exercicio 108](exercicios/108.py) 1123 | 1124 | Uma empresa de pesquisas precisa tabular os resultados da seguinte enquete 1125 | feita a um grande quantidade de organizações: 1126 | "Qual o melhor Sistema Operacional para uso em servidores?" 1127 | 1128 | As possíveis respostas são: 1129 | 1130 | 1- Windows Server 1131 | 2- Unix 1132 | 3- Linux 1133 | 4- Netware 1134 | 5- Mac OS 1135 | 6- Outro 1136 | 1137 | Você foi contratado para desenvolver um programa que leia o resultado da 1138 | enquete e informe ao final o resultado da mesma. 1139 | O programa deverá ler os valores até ser informado o valor 0, que encerra a 1140 | entrada dos dados. 1141 | Não deverão ser aceitos valores além dos válidos para o programa (0 a 6). 1142 | Os valores referentes a cada uma das opções devem ser armazenados num vetor. 1143 | Após os dados terem sido completamente informados, o programa deverá calcular a 1144 | percentual de cada um dos concorrentes e informar o vencedor da enquete. 1145 | O formato da saída foi dado pela empresa, e é o seguinte: 1146 | 1147 | Sistema Operacional Votos % 1148 | ------------------- ----- --- 1149 | Windows Server 1500 17% 1150 | Unix 3500 40% 1151 | Linux 3000 34% 1152 | Netware 500 5% 1153 | Mac OS 150 2% 1154 | Outro 150 2% 1155 | ------------------- ----- 1156 | Total 8800 1157 | 1158 | O Sistema Operacional mais votado foi o Unix, com 3500 votos, 1159 | correspondendo a 40% dos votos. 1160 | 1161 | #### [Exercicio 109](exercicios/109.py) 1162 | 1163 | As Organizações Tabajara resolveram dar um abono aos seus colaboradores em 1164 | reconhecimento ao bom resultado alcançado durante o ano que passou. 1165 | Para isto contratou você para desenvolver a aplicação que servirá como uma 1166 | projeção de quanto será gasto com o pagamento deste abono. 1167 | Após reuniões envolvendo a diretoria executiva, a diretoria financeira e os 1168 | representantes do sindicato laboral, chegou-se a seguinte forma de cálculo: 1169 | 1170 | Cada funcionário receberá o equivalente a 20% do seu salário bruto de 1171 | dezembro; 1172 | O piso do abono será de 100 reais, isto é, aqueles funcionários cujo 1173 | salário for muito baixo recebem este valor mínimo; 1174 | Neste momento, não se deve ter nenhuma preocupação com colaboradores com 1175 | tempo menor de casa, descontos, impostos ou outras particularidades. 1176 | 1177 | Seu programa deverá permitir a digitação do salário de um número indefinido 1178 | (desconhecido) de salários. 1179 | Um valor de salário igual a 0 (zero) encerra a digitação. 1180 | Após a entrada de todos os dados o programa deverá calcular o valor do abono 1181 | concedido a cada colaborador, de acordo com a regra definida acima. 1182 | Ao final, o programa deverá apresentar: 1183 | O salário de cada funcionário, juntamente com o valor do abono; 1184 | O número total de funcionários processados; 1185 | O valor total a ser gasto com o pagamento do abono; 1186 | O número de funcionários que receberão o valor mínimo de 100 reais; 1187 | O maior valor pago como abono; 1188 | 1189 | Exemplo: 1190 | Projeção de Gastos com Abono 1191 | ============================ 1192 | 1193 | Salário: 1000 1194 | Salário: 300 1195 | Salário: 500 1196 | Salário: 100 1197 | Salário: 4500 1198 | Salário: 0 1199 | 1200 | Salário - Abono 1201 | R$ 1000.00 - R$ 200.00 1202 | R$ 300.00 - R$ 100.00 1203 | R$ 500.00 - R$ 100.00 1204 | R$ 100.00 - R$ 100.00 1205 | R$ 4500.00 - R$ 900.00 1206 | 1207 | Foram processados 5 colaboradores 1208 | Total gasto com abonos: R$ 1400.00 1209 | Valor mínimo foi pago a 3 colaboradores 1210 | Maior valor de abono pago: R$ 900.00 1211 | 1212 | -------------------------------------------------------------------------------- /exercicios/001.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um Programa que mostre a mensagem "Alo mundo" na tela. 3 | """ 4 | print("Alo mundo") 5 | -------------------------------------------------------------------------------- /exercicios/002.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um Programa que peça um número e então mostre a mensagem 3 | O número informado foi [número]. 4 | """ 5 | num = input("Digite um numero: ") 6 | print(f"O numero informado foi {num}") 7 | -------------------------------------------------------------------------------- /exercicios/003.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um Programa que peça dois números e imprima a soma. 3 | """ 4 | num1 = int(input("Digite um numero: ")) 5 | num2 = int(input("Digite outro numero: ")) 6 | soma = num1 + num2 7 | print(f"A soma entre {num1} e {num2} é {soma}") 8 | -------------------------------------------------------------------------------- /exercicios/004.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um Programa que peça as 4 notas bimestrais e mostre a média. 3 | """ 4 | nota1 = float(input("Digite a nota da unidade 1: ")) 5 | nota2 = float(input("Digite a nota da unidade 2: ")) 6 | nota3 = float(input("Digite a nota da unidade 3: ")) 7 | nota4 = float(input("Digite a nota da unidade 4: ")) 8 | media = (nota1 + nota2 + nota3 + nota4) / 4 9 | print( 10 | f"A media das notas {nota1:.2f}, {nota2:.2f}, " 11 | f"{nota3:.2f} e {nota4:.2f} é {media:.2f}" 12 | ) 13 | -------------------------------------------------------------------------------- /exercicios/005.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um Programa que converta metros para centímetros. 3 | """ 4 | metros = float(input("Digite o valor em metros: ")) 5 | centimetros = metros * 100 6 | print(f"{metros:.2f} metros equivalem a {centimetros:.2f} centimetros.") 7 | -------------------------------------------------------------------------------- /exercicios/006.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um Programa que peça o raio de um círculo, calcule e mostre sua área. 3 | """ 4 | pi = 3.1415926 5 | raio = float(input("Digite o raio do círculo: ")) 6 | area = pi * (raio ** 2) 7 | print(f"A área de um círculo de raio {raio} é {area:.2f}m².") 8 | -------------------------------------------------------------------------------- /exercicios/007.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um Programa que calcule a área de um quadrado, 3 | em seguida mostre o dobro desta área para o usuário. 4 | """ 5 | lado = float(input("Digite o lado do quadrado: ")) 6 | area = lado ** 2 7 | dobro = area * 2 8 | print(f"O dobro da área de um quadrado de lado {lado:.2f}m é {dobro:.2f}m²") 9 | -------------------------------------------------------------------------------- /exercicios/008.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um Programa que pergunte quanto você ganha por hora e o número de horas 3 | trabalhadas no mês. Calcule e mostre o total do seu salário no referido mês. 4 | """ 5 | salario_hora = float(input("Digite quanto você ganha por hora: ")) 6 | horas_trabalhadas_mes = float( 7 | input("Digite quantas horas você trabalhou esse mês: ") 8 | ) 9 | salario_total = salario_hora * horas_trabalhadas_mes 10 | print( 11 | f"Ganhando R${salario_hora:.2f} a hora, tendo trabalhado " 12 | f"{horas_trabalhadas_mes} horas no mês, seu salário este mês " 13 | f"é de R${salario_total:.2f}." 14 | ) 15 | -------------------------------------------------------------------------------- /exercicios/009.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um Programa que peça a temperatura em graus Fahrenheit, 3 | transforme e mostre a temperatura em graus Celsius. 4 | C = 5 * ((F-32) / 9). 5 | """ 6 | graus_farenheit = float(input("Digite a temperatura em Farenheit: ")) 7 | graus_celsius = 5 * (graus_farenheit - 32) / 9 8 | print( 9 | f"{graus_farenheit:.2f} graus Farenheit correspondem a " 10 | f"{graus_celsius:.2f} graus Celsius" 11 | ) 12 | -------------------------------------------------------------------------------- /exercicios/010.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um Programa que peça a temperatura em graus Celsius, 3 | transforme e mostre em graus Fahrenheit. 4 | """ 5 | graus_celsius = float(input("Digite a temperatura em Celsius: ")) 6 | graus_farenheit = ((graus_celsius * 9) / 5) + 32 7 | print( 8 | f"{graus_celsius:.2f} graus Celsius correspondem a " 9 | f"{graus_farenheit:.2f} graus Farenheit" 10 | ) 11 | -------------------------------------------------------------------------------- /exercicios/011.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um Programa que peça 2 números inteiros e um número real. 3 | Calcule e mostre: 4 | o produto do dobro do primeiro com metade do segundo. 5 | a soma do triplo do primeiro com o terceiro. 6 | o terceiro elevado ao cubo. 7 | """ 8 | num1 = int(input("Digite um numero inteiro: ")) 9 | num2 = int(input("Digite outro numero inteiro: ")) 10 | num3 = float(input("Digite um numero real: ")) 11 | a = (num1 * 2) * (num2 / 2) 12 | b = (num1 * 3) + num3 13 | c = num3 ** 3 14 | 15 | print(f"a: {a}\nb: {b}\nc: {c}") 16 | -------------------------------------------------------------------------------- /exercicios/012.py: -------------------------------------------------------------------------------- 1 | """ 2 | Tendo como dados de entrada a altura de uma pessoa, 3 | construa um algoritmo que calcule seu peso ideal, 4 | usando a seguinte fórmula: (72.7*altura) - 58 5 | """ 6 | altura = float(input("Digite sua altura em metros: ")) 7 | peso_ideal = (72.7 * altura) - 58 8 | print(f"O peso ideal para sua altura é: {peso_ideal:.2f}Kg") 9 | -------------------------------------------------------------------------------- /exercicios/013.py: -------------------------------------------------------------------------------- 1 | """ 2 | Tendo como dado de entrada a altura (h) de uma pessoa, 3 | construa um algoritmo que calcule seu peso ideal, 4 | utilizando as seguintes fórmulas: 5 | Para homens: (72.7*h) - 58 6 | Para mulheres: (62.1*h) - 44.7 7 | """ 8 | altura = float(input("Digite sua altura em metros: ")) 9 | peso_ideal_homem = (72.7 * altura) - 58 10 | peso_ideal_mulher = (62.1 * altura) - 44.7 11 | print( 12 | f"O peso ideal para sua altura é:\n{peso_ideal_homem:.2f}Kg para homens.\n" 13 | f"{peso_ideal_mulher:.2f}Kg para mulheres." 14 | ) 15 | -------------------------------------------------------------------------------- /exercicios/014.py: -------------------------------------------------------------------------------- 1 | """ 2 | João Papo-de-Pescador, homem de bem, comprou um microcomputador para controlar 3 | o rendimento diário de seu trabalho. 4 | 5 | Toda vez que ele traz um peso de peixes maior que o estabelecido pelo 6 | regulamento de pesca do estado de São Paulo (50 quilos) deve pagar uma multa 7 | de R$ 4,00 por quilo excedente. 8 | 9 | João precisa que você faça um programa que leia a variável peso 10 | (peso de peixes) e calcule o excesso. 11 | 12 | Gravar na variável excesso a quantidade de quilos além do limite 13 | e na variável multa o valor da multa que João deverá pagar. 14 | Imprima os dados do programa com as mensagens adequadas. 15 | """ 16 | peso = float(input("Digite o peso da pesca em Kg: ")) 17 | excesso = peso - 50 18 | multa = excesso * 4 19 | print(f"Foram {excesso:.2f}Kg em excesso, logo, a multa é de R${multa:.2f}.") 20 | -------------------------------------------------------------------------------- /exercicios/015.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um Programa que pergunte quanto você ganha por hora e o número de horas 3 | trabalhadas no mês. 4 | 5 | Calcule e mostre o total do seu salário no referido mês, 6 | sabendo-se que são descontados 11% para o Imposto de Renda, 7 | 8% para o INSS e 5% para o sindicato, faça um programa que nos dê: 8 | salário bruto. 9 | quanto pagou ao INSS. 10 | quanto pagou ao sindicato. 11 | o salário líquido. 12 | calcule os descontos e o salário líquido, conforme a tabela abaixo: 13 | 14 | + Salário Bruto : R$ 15 | - IR (11%) : R$ 16 | - INSS (8%) : R$ 17 | - Sindicato ( 5%) : R$ 18 | = Salário Liquido : R$ 19 | 20 | Obs.: Salário Bruto - Descontos = Salário Líquido. 21 | """ 22 | preco_hora = float(input("Digite quanto você ganha por hora: ")) 23 | horas_trabalhadas = float( 24 | input("Digite quantas horas você trabalhou esse mês: ") 25 | ) 26 | salario_bruto = preco_hora * horas_trabalhadas 27 | IR = salario_bruto * (11 / 100) 28 | INSS = salario_bruto * (8 / 100) 29 | sindicato = salario_bruto * (5 / 100) 30 | salario_liquido = salario_bruto - IR - INSS - sindicato 31 | print( 32 | f"+ Salário Bruto : R${salario_bruto:.2f}\n" 33 | f"- IR (11%) : R${IR:.2f}\n" 34 | f"- INSS (8%) : R${INSS:.2f}\n" 35 | f"- Sindicato (5%) : R${sindicato:.2f}\n" 36 | f"= Salário Liquido : R${salario_liquido:.2f}" 37 | ) 38 | -------------------------------------------------------------------------------- /exercicios/016.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um programa para uma loja de tintas. 3 | O programa deverá pedir o tamanho em metros quadrados da área a ser pintada. 4 | 5 | Considere que a cobertura da tinta é de 1 litro para cada 3 metros 6 | quadrados e que a tinta é vendida em latas de 18 litros, que custam R$ 80,00. 7 | 8 | Informe ao usuário a quantidades de latas de tinta 9 | a serem compradas e o preço total. 10 | """ 11 | import math 12 | 13 | metros_quadrados = float( 14 | input("Digite quantos metros quadrados você vai pintar: ") 15 | ) 16 | latas = math.ceil(metros_quadrados / 54) 17 | preco = latas * 80 18 | print(f"Você precisa comprar {latas:.0f} lata(s), custando R${preco:.2f}") 19 | -------------------------------------------------------------------------------- /exercicios/017.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um Programa para uma loja de tintas. 3 | 4 | O programa deverá pedir o tamanho em metros quadrados da área a ser pintada. 5 | 6 | Considere que a cobertura da tinta é de 1 litro para cada 6 metros quadrados 7 | e que a tinta é vendida em latas de 18 litros, que custam R$ 80,00 8 | ou em galões de 3,6 litros, que custam R$ 25,00. 9 | 10 | Informe ao usuário as quantidades de tinta a serem compradas 11 | e os respectivos preços em 3 situações: 12 | 13 | comprar apenas latas de 18 litros; 14 | comprar apenas galões de 3,6 litros; 15 | misturar latas e galões, de forma que o preço seja o menor. 16 | Acrescente 10% de folga e sempre arredonde os valores para cima, 17 | isto é, considere latas cheias. 18 | """ 19 | import math 20 | 21 | metros_quadrados = float(input("Digite os m²: ")) 22 | metros_quadrados_mais_dez = metros_quadrados * 1.0 23 | 24 | rendimento_litro = 6 25 | litros_lata = 18 26 | preco_lata = 80 27 | rendimento_lata = rendimento_litro * litros_lata 28 | litros_galao = 3.6 29 | preco_galao = 25 30 | rendimento_galao = rendimento_litro * litros_galao 31 | 32 | somente_latas = math.ceil(metros_quadrados / rendimento_lata) 33 | somente_galoes = math.ceil(metros_quadrados / rendimento_galao) 34 | latas = math.floor(metros_quadrados_mais_dez / rendimento_lata) 35 | galoes = math.ceil( 36 | (metros_quadrados_mais_dez % rendimento_lata) / rendimento_galao 37 | ) 38 | 39 | print( 40 | f"Somente Latas: {somente_latas}, " 41 | f"custando R${somente_latas * preco_lata}\n" 42 | f"Somente Galões: {somente_galoes}, " 43 | f"custando R${somente_galoes * preco_galao}\n" 44 | f"Latas: {latas} , Galões: {galoes}, " 45 | f"custando R${((latas * preco_lata) + (galoes *preco_galao)):.2f}" 46 | ) 47 | -------------------------------------------------------------------------------- /exercicios/018.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um programa que peça o tamanho de um arquivo para download (em MB) e a 3 | velocidade de um link de Internet (em Mbps), calcule e informe o tempo 4 | aproximado de download do arquivo usando este link (em minutos). 5 | """ 6 | tamanho = float(input("Digite o tamanho do arquivo em MB: ")) 7 | velocidade = float(input("Digite a velocidade da conexão em Mbps: ")) 8 | tempos = (tamanho * 8) / velocidade 9 | minutos = tempos // 60 10 | segundos = tempos % 60 11 | print(f"{minutos:.0f} Minutos e {segundos:.0f} Segundos") 12 | -------------------------------------------------------------------------------- /exercicios/019.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um Programa que peça dois números e imprima o maior deles. 3 | """ 4 | num1 = float(input("Digite um numero: ")) 5 | num2 = float(input("Digite outro numero: ")) 6 | if num1 > num2: 7 | print(num1) 8 | else: 9 | print(num2) 10 | -------------------------------------------------------------------------------- /exercicios/020.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um Programa que peça um valor e mostre na tela se o valor é 3 | positivo ou negativo. 4 | """ 5 | valor = float(input("Digite um valor: ")) 6 | if valor > 0: 7 | print("O valor é positivo") 8 | elif valor < 0: 9 | print("O valor é negativo") 10 | -------------------------------------------------------------------------------- /exercicios/021.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um Programa que verifique se uma letra digitada é "F" ou "M". 3 | Conforme a letra escrever: F - Feminino, M - Masculino, Sexo Inválido. 4 | """ 5 | sexo = input("Digite F para Feminino ou M para Masculino: ") 6 | if sexo == "F" or sexo == "f": 7 | print("Feminino") 8 | elif sexo == "M" or sexo == "m": 9 | print("Masculino") 10 | else: 11 | print("Sexo Inválido") 12 | -------------------------------------------------------------------------------- /exercicios/022.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um Programa que verifique se uma letra digitada é vogal ou consoante. 3 | """ 4 | # .upper() para deixar as letras maiúsculas, 5 | # ficando assim mais fácil de comparar 6 | letra = input("Digite uma letra: ").upper() 7 | 8 | if ( 9 | letra == "A" 10 | or letra == "E" 11 | or letra == "I" 12 | or letra == "O" 13 | or letra == "U" 14 | ): 15 | print("Vogal") 16 | else: 17 | print("Consoante") 18 | -------------------------------------------------------------------------------- /exercicios/023.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um programa para a leitura de duas notas parciais de um aluno. 3 | O programa deve calcular a média alcançada por aluno e apresentar: 4 | A mensagem "Aprovado", se a média alcançada for maior ou igual a sete; 5 | A mensagem "Reprovado", se a média for menor do que sete; 6 | A mensagem "Aprovado com Distinção", se a média for igual a dez. 7 | """ 8 | nota1 = float(input("Digite a primeira nota: ")) 9 | nota2 = float(input("Digite a segunda nota: ")) 10 | media = (nota1 + nota2) / 2 11 | if media == 10: 12 | print("Aprovado com Distinção") 13 | elif media >= 7: 14 | print("Aprovado") 15 | else: 16 | print("Reprovado") 17 | -------------------------------------------------------------------------------- /exercicios/024.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um Programa que leia três números e mostre o maior deles. 3 | """ 4 | numero1 = float(input("Digite um numero: ")) 5 | numero2 = float(input("Digite outro numero: ")) 6 | numero3 = float(input("Digite mais um numero: ")) 7 | if numero1 > numero2 and numero1 > numero3: 8 | print(f"{numero1} foi o maior numero digitado.") 9 | elif numero2 > numero1 and numero2 > numero3: 10 | print(f"{numero2} foi o maior numero digitado.") 11 | else: 12 | print(f"{numero3} foi o maior numero digitado.") 13 | -------------------------------------------------------------------------------- /exercicios/025.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um Programa que leia três números e mostre o maior e o menor deles. 3 | """ 4 | numero1 = float(input("Digite um numero: ")) 5 | numero2 = float(input("Digite outro numero: ")) 6 | numero3 = float(input("Digite mais um numero: ")) 7 | if numero1 > numero2 and numero1 > numero3: 8 | print(f"{numero1} foi o maior numero digitado.") 9 | elif numero2 > numero1 and numero2 > numero3: 10 | print(f"{numero2} foi o maior numero digitado.") 11 | else: 12 | print(f"{numero3} foi o maior numero digitado.") 13 | 14 | if numero1 < numero2 and numero1 < numero3: 15 | print(f"{numero1} foi o menor numero digitado.") 16 | elif numero2 < numero1 and numero2 < numero3: 17 | print(f"{numero2} foi o menor numero digitado.") 18 | else: 19 | print(f"{numero3} foi o menor numero digitado.") 20 | -------------------------------------------------------------------------------- /exercicios/026.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um programa que pergunte o preço de três produtos e informe qual produto 3 | você deve comprar, sabendo que a decisão é sempre pelo mais barato. 4 | """ 5 | preco1 = float(input("Digite o preço do produto 1: ")) 6 | preco2 = float(input("Digite o preço do produto 2: ")) 7 | preco3 = float(input("Digite o preço do produto 3: ")) 8 | if preco1 < preco2 and preco1 < preco3: 9 | print(f"O produto com o menor preco é o 1, custando R${preco1:.2f}") 10 | elif preco2 < preco1 and preco2 < preco3: 11 | print(f"O produto com o menor preco é o 2, custando R${preco2:.2f}") 12 | else: 13 | print(f"O produto com o menor preco é o 3, custando R${preco3:.2f}") 14 | -------------------------------------------------------------------------------- /exercicios/027.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um Programa que leia três números e mostre-os em ordem decrescente. 3 | """ 4 | numero1 = float(input("Digite um numero: ")) 5 | numero2 = float(input("Digite outro numero: ")) 6 | numero3 = float(input("Digite mais um numero: ")) 7 | if numero1 > numero2 > numero3: 8 | print(numero1, numero2, numero3) 9 | elif numero1 > numero3 > numero2: 10 | print(numero1, numero3, numero2) 11 | elif numero2 > numero1 > numero3: 12 | print(numero2, numero1, numero3) 13 | elif numero2 > numero3 > numero1: 14 | print(numero2, numero3, numero1) 15 | elif numero3 > numero1 > numero2: 16 | print(numero3, numero1, numero2) 17 | else: 18 | print(numero3, numero2, numero1) 19 | -------------------------------------------------------------------------------- /exercicios/028.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um Programa que pergunte em que turno você estuda. 3 | Peça para digitar M-matutino ou V-Vespertino ou N- Noturno. 4 | 5 | Imprima a mensagem "Bom Dia!", "Boa Tarde!" ou "Boa Noite!" ou 6 | "Valor Inválido!", conforme o caso. 7 | """ 8 | turno = input( 9 | "Digite seu turno, M - matutino, V - vespertino, N - noturno: " 10 | ).upper() 11 | if turno == "M": 12 | print("Bom dia!") 13 | elif turno == "V": 14 | print("Boa tarde!") 15 | elif turno == "N": 16 | print("Boa noite!") 17 | else: 18 | print("Valor inválido!") 19 | -------------------------------------------------------------------------------- /exercicios/029.py: -------------------------------------------------------------------------------- 1 | """ 2 | As Organizações Tabajara resolveram dar um aumento de salário aos seus 3 | colaboradores e lhe contrataram para desenvolver o programa que calculará os 4 | reajustes. 5 | 6 | Faça um programa que recebe o salário de um colaborador e o reajuste segundo o 7 | seguinte critério, baseado no salário atual: 8 | 9 | salários até R$ 280,00 (incluindo) : aumento de 20% 10 | salários entre R$ 280,00 e R$ 700,00 : aumento de 15% 11 | salários entre R$ 700,00 e R$ 1500,00 : aumento de 10% 12 | salários de R$ 1500,00 em diante : 13 | aumento de 5% Após o aumento ser realizado, 14 | informe na tela: 15 | o salário antes do reajuste; 16 | o percentual de aumento aplicado; 17 | o valor do aumento; 18 | o novo salário, após o aumento. 19 | """ 20 | salario_anterior = float(input("Digite seu salário atual: ")) 21 | salario_atual = 0.0 22 | diferenca_entre_salarios = 0.0 23 | percentual_de_aumento = 0.0 24 | 25 | if salario_anterior <= 280: 26 | percentual_de_aumento = 20 27 | elif salario_anterior <= 750: 28 | percentual_de_aumento = 15 29 | elif salario_anterior <= 1500: 30 | percentual_de_aumento = 10 31 | else: 32 | percentual_de_aumento = 5 33 | 34 | diferenca_entre_salarios = salario_anterior * (percentual_de_aumento / 100) 35 | salario_atual = salario_anterior + diferenca_entre_salarios 36 | print(f"Seu salário antes do reajuste era de R${salario_anterior:.2f}") 37 | print(f"Seu salário foi aumentado em {percentual_de_aumento}%") 38 | print(f"Seu salário foi aumentado em R${diferenca_entre_salarios:.2f}") 39 | print(f"Seu salário atual é de R${salario_atual:.2f}") 40 | -------------------------------------------------------------------------------- /exercicios/030.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um programa para o cálculo de uma folha de pagamento, sabendo que os 3 | descontos são do Imposto de Renda, que depende do salário bruto 4 | (conforme tabela abaixo) e 10% para o INSS e que o FGTS corresponde a 11% do 5 | Salário Bruto, mas não é descontado (é a empresa que deposita). 6 | 7 | O Salário Líquido corresponde ao Salário Bruto menos os descontos. 8 | O programa deverá pedir ao usuário o valor da sua hora e a quantidade de horas 9 | trabalhadas no mês. 10 | 11 | Desconto do IR: 12 | Salário Bruto até 900 (inclusive) - isento 13 | Salário Bruto até 1500 (inclusive) - desconto de 5% 14 | Salário Bruto até 2500 (inclusive) - desconto de 10% 15 | Salário Bruto acima de 2500 - desconto de 20% 16 | 17 | Imprima na tela as informações, dispostas conforme o exemplo abaixo. 18 | No exemplo o valor da hora é 5 e a quantidade de hora é 220. 19 | 20 | Salário Bruto: (5 * 220) : R$ 1100,00 21 | (-) IR (5%) : R$ 55,00 22 | (-) INSS ( 10%) : R$ 110,00 23 | FGTS (11%) : R$ 121,00 24 | Total de descontos : R$ 165,00 25 | Salário Liquido : R$ 935,00 26 | """ 27 | valor_da_hora = float(input("Digite quanto você recebe por hora: ")) 28 | horas_trabalhadas = float( 29 | input("Digite quantas horas você trabalhou esse mês: ") 30 | ) 31 | salario_bruto = valor_da_hora * horas_trabalhadas 32 | if salario_bruto <= 900: 33 | desconto_ir = 0.0 34 | elif salario_bruto <= 1500: 35 | desconto_ir = 5 36 | elif salario_bruto <= 2500: 37 | desconto_ir = 10 38 | else: 39 | desconto_ir = 20 40 | 41 | IR = salario_bruto * (desconto_ir / 100) 42 | INSS = salario_bruto * (10 / 100) 43 | FGTS = salario_bruto * (11 / 100) 44 | total_de_descontos = IR + INSS 45 | salario_liquido = salario_bruto - total_de_descontos 46 | 47 | print( 48 | f"\nSalário Bruto : R${salario_bruto:.2f}", 49 | f"\n(-) IR (5%) : R${IR:.2f}", 50 | f"\n(-) INSS ( 10%) : R${INSS:.2f}", 51 | f"\nFGTS (11%) : R${FGTS:.2f}", 52 | f"\nTotal de descontos: R${total_de_descontos:.2f}", 53 | f"\nSalário Liquido : R${salario_liquido:.2f}", 54 | ) 55 | -------------------------------------------------------------------------------- /exercicios/031.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um Programa que leia um número e exiba o dia correspondente da semana. 3 | (1-Domingo, 2- Segunda, etc.), 4 | se digitar outro valor deve aparecer valor inválido. 5 | """ 6 | dia_int = int(input("Digite o número do dia da semana: ")) 7 | dia_str = "" 8 | if dia_int == 1: 9 | dia_str = "Domingo" 10 | elif dia_int == 2: 11 | dia_str = "Segunda" 12 | elif dia_int == 3: 13 | dia_str = "Terça" 14 | elif dia_int == 4: 15 | dia_str = "Quarta" 16 | elif dia_int == 5: 17 | dia_str = "Quinta" 18 | elif dia_int == 6: 19 | dia_str = "Sexta" 20 | elif dia_int == 7: 21 | dia_str = "Sábado" 22 | 23 | if dia_str == "": 24 | print("Valor inválido") 25 | else: 26 | print(f"O dia correspondente é {dia_str}") 27 | -------------------------------------------------------------------------------- /exercicios/032.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um programa que lê as duas notas parciais obtidas por um aluno numa 3 | disciplina ao longo de um semestre, e calcule a sua média. 4 | 5 | A atribuição de conceitos obedece à tabela abaixo: 6 | Média de Aproveitamento Conceito 7 | Entre 9.0 e 10.0 A 8 | Entre 7.5 e 9.0 B 9 | Entre 6.0 e 7.5 C 10 | Entre 4.0 e 6.0 D 11 | Entre 4.0 e zero E 12 | 13 | O algoritmo deve mostrar na tela as notas, a média, 14 | o conceito correspondente e a mensagem “APROVADO” se o conceito for A, B ou C 15 | ou “REPROVADO” se o conceito for D ou E. 16 | """ 17 | nota1 = float(input("Digite a primeira nota do semestre: ")) 18 | nota2 = float(input("Digite a segunda nota do semestre: ")) 19 | 20 | media = (nota1 + nota2) / 2 21 | 22 | if media >= 9: 23 | aproveitamento = "A" 24 | elif media >= 7.5: 25 | aproveitamento = "B" 26 | elif media >= 6: 27 | aproveitamento = "C" 28 | elif media >= 4: 29 | aproveitamento = "D" 30 | else: 31 | aproveitamento = "E" 32 | 33 | if aproveitamento == "D" or aproveitamento == "E": 34 | print(f"REPROVADO\nAproveitamento: {aproveitamento}") 35 | else: 36 | print(f"APROVADO\nAproveitamento: {aproveitamento}") 37 | -------------------------------------------------------------------------------- /exercicios/033.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um Programa que peça os 3 lados de um triângulo. 3 | O programa deverá informar se os valores podem ser um triângulo. 4 | Indique, caso os lados formem um triângulo, se o mesmo é: 5 | equilátero, isósceles ou escaleno. 6 | 7 | Dicas: 8 | Três lados formam um triângulo quando a soma de 9 | quaisquer dois lados for maior que o terceiro; 10 | Triângulo Equilátero: três lados iguais; 11 | Triângulo Isósceles: quaisquer dois lados iguais; 12 | Triângulo Escaleno: três lados diferentes; 13 | """ 14 | lado1 = float(input("Digite o primeiro lado do triângulo: ")) 15 | lado2 = float(input("Digite o segundo lado do triângulo: ")) 16 | lado3 = float(input("Digite o terceiro lado do triângulo: ")) 17 | 18 | if ( 19 | (lado1 + lado2 > lado3) 20 | and (lado1 + lado3 > lado2) 21 | and (lado2 + lado3 > lado1) 22 | ): 23 | if (lado1 == lado2) and (lado2 == lado3): 24 | print("É um triângulo equilátero!") 25 | elif (lado1 == lado2) or (lado1 == lado3) or (lado2 == lado3): 26 | print("É um triângulo isósceles!") 27 | else: 28 | print("É um triângulo escaleno!") 29 | else: 30 | print("Não é um triângulo!") 31 | -------------------------------------------------------------------------------- /exercicios/034.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um programa que calcule as raízes de uma equação do segundo grau, 3 | na forma ax² + bx + c. 4 | 5 | O programa deverá pedir os valores de a, b e c e fazer as consistências, 6 | informando ao usuário nas seguintes situações: 7 | 8 | Se o usuário informar o valor de A igual a zero, a equação não é do segundo 9 | grau e o programa não deve fazer pedir os demais valores, 10 | sendo encerrado; 11 | Se o delta calculado for negativo, a equação não possui raízes reais. 12 | Informe ao usuário e encerre o programa; 13 | Se o delta calculado for igual a zero a equação possui apenas uma raiz 14 | real; informe-a ao usuário; 15 | Se o delta for positivo, a equação possui duas raiz reais; 16 | informe-as ao usuário; 17 | """ 18 | a = float(input("Digite o valor de a: ")) 19 | if a == 0: 20 | print("Não é uma equação do segundo grau") 21 | else: 22 | b = float(input("Digite o valor de b: ")) 23 | c = float(input("Digite o valor de c: ")) 24 | delta = (b ** 2) - (4 * a * c) 25 | if delta < 0: 26 | print("Delta menor que 0. Não há raízes reais.") 27 | elif delta == 0: 28 | raiz = (-b) / (2 * a) 29 | print(f"Delta é zero. A raíz é {raiz}") 30 | else: 31 | raiz1 = (-b + (delta ** (1 / 2))) / (2 * a) 32 | raiz2 = (-b - (delta ** (1 / 2))) / (2 * a) 33 | print( 34 | f"Delta maior que zero. A raíz 1 é {raiz1}, e a raiz 2 é {raiz2}" 35 | ) 36 | -------------------------------------------------------------------------------- /exercicios/035.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um Programa que peça um número correspondente a um determinado ano e em 3 | seguida informe se este ano é ou não bissexto. 4 | """ 5 | ano = int(input("Digite um ano: ")) 6 | if ano % 4 == 0: 7 | print(f"{ano} é bissexto!") 8 | else: 9 | print(f"{ano} não é bissexto!") 10 | -------------------------------------------------------------------------------- /exercicios/036.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um Programa que peça uma data no formato dd/mm/aaaa e determine se a mesma 3 | é uma data válida. 4 | """ 5 | data = input("Digite uma data no formato dd/mm/aaaa: ") 6 | # Isto separa os elementos da data em uma lista. 7 | # O fim de um elemento se dá por uma / 8 | # Como são 3 elementos, podemos fazer uma atribuição múltipla direta 9 | dia, mes, ano = data.split("/") 10 | # E aqui transformamos os valores em inteiros para facilitar comparações 11 | dia, mes, ano = int(dia), int(mes), int(ano) 12 | 13 | if ano < 0: 14 | print("Ano inválido!") 15 | else: 16 | if mes < 1 or mes > 12: 17 | print("Mês inválido!") 18 | # Isto testa se o mês é um destes dentro da lista 19 | # Poderiam ser feitas diversas comparações utilizando o or 20 | # ex. mes == 1 or mes == 3... 21 | # Mas achei isso mais simples. 22 | elif mes in [1, 3, 5, 7, 8, 10, 12]: # meses com 31 dias 23 | if dia > 0 and dia < 32: 24 | print("Data válida!") 25 | else: 26 | print("Dia inválido!") 27 | elif mes in [4, 6, 9, 11]: # meses com 30 dias 28 | if dia > 0 and dia < 31: 29 | print("Data válida!") 30 | else: 31 | print("Dia inválido!") 32 | else: # fevereiro 33 | if ano % 4 == 0: # Ano bissexto 34 | if dia > 0 and dia < 30: 35 | print("Data válida!") 36 | else: 37 | print("Dia inválido!") 38 | else: # Ano não bissexto 39 | if dia > 0 and dia < 29: 40 | print("Data válida!") 41 | else: 42 | print("Dia inválido!") 43 | -------------------------------------------------------------------------------- /exercicios/037.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um Programa que leia um número inteiro maior que 0 e menor que 1000 e 3 | imprima a quantidade de centenas, dezenas e unidades do mesmo. 4 | 5 | Observando os termos no plural a colocação do "e", da vírgula entre outros. 6 | 7 | Exemplo: 8 | 326 = 3 centenas, 2 dezenas e 6 unidades 9 | 12 = 1 dezena e 2 unidades 10 | 11 | Testar com: 12 | 326, 300, 100, 320, 310,305, 301, 101, 311, 111, 25, 20, 10, 21, 11, 1, 7 e 16 13 | """ 14 | for numero in [ 15 | 326, 16 | 300, 17 | 100, 18 | 320, 19 | 310, 20 | 305, 21 | 301, 22 | 101, 23 | 311, 24 | 111, 25 | 25, 26 | 20, 27 | 10, 28 | 21, 29 | 11, 30 | 1, 31 | 7, 32 | 16, 33 | ]: 34 | # O laço for foi utilizado apenas para o teste automático dos valores 35 | # você pode fazer os testes manualmente. 36 | # Basta retirar tudo de dentro do laço e descomentar a linha abaixo! 37 | # numero = int(input("Digite um inteiro menor que 1000: ")) 38 | print(f"\nNumero: {numero}") 39 | unidade = numero % 10 40 | dezena = (numero % 100) // 10 41 | centena = numero // 100 42 | separador1 = "" 43 | separador2 = "" 44 | # Se tivermos ambos unidade, dezena e centena 45 | if centena > 0 and dezena > 0 and unidade > 0: 46 | separador1 = " , " # Precisamos de uma vírgula 47 | # Os espaços entre as aspas são importantes 48 | separador2 = " e " # E de um e 49 | # Senão, se tivermos uma centena e uma dezena 50 | elif centena > 0 and dezena > 0: 51 | separador1 = " e " # Precisamos só do e, na frente 52 | separador2 = "" 53 | # Já se tivermos só a centena e a unidade, ou só a dezena e a unidade 54 | elif (centena > 0 and unidade > 0) or (dezena > 0 and unidade > 0): 55 | separador1 = "" # Não haverá separador entre centena e dezena 56 | separador2 = " e " # Mas sim entre centena/dezena e unidade 57 | # Nos outros casos só temos um dos três valores, 58 | # e os separadores podem continuar sendo vazios ("") 59 | 60 | # Se a centena não estiver zerada 61 | if centena > 0: 62 | if centena == 1: 63 | # Se ela for igual a 1, colocamos nela por extenso no singular 64 | centena = "1 centena" 65 | else: 66 | # Senão, colocamos ela por extenso no plural 67 | centena = f"{centena} centenas" 68 | else: 69 | # Se estiver zerada, colocamos nela uma string 70 | # vazia para nada ser impresso 71 | centena = "" 72 | # Mesa coisa para a dezena 73 | if dezena > 0: 74 | if dezena == 1: 75 | dezena = "1 dezena" 76 | else: 77 | dezena = f"{dezena} dezenas" 78 | else: 79 | dezena = "" 80 | # Mesa coisa para a unidade 81 | if unidade > 0: 82 | if unidade == 1: 83 | unidade = "1 unidade" 84 | else: 85 | unidade = f"{unidade} unidades" 86 | else: 87 | unidade = "" 88 | 89 | # Importante observar que podemos fazer esse algoritmo facilmente em 90 | # Python por ser uma linguagem dinâmicamente tipada, ou seja, se eu 91 | # quiser mudar o valor de uma variável que era do tipo inteiro para um 92 | # valor do tipo string ou qualquer outro eu posso 93 | # Em linguagens como C++ seria necessário declarar 2 variáveis: 94 | # 1 para o número e outra para o texto 95 | 96 | # Por fim printamos o resultado 97 | print(f"{centena}{separador1}{dezena}{separador2}{unidade}") 98 | -------------------------------------------------------------------------------- /exercicios/038.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um Programa para um caixa eletrônico. 3 | 4 | O programa deverá perguntar ao usuário a valor do saque e depois informar 5 | quantas notas de cada valor serão fornecidas. 6 | 7 | As notas disponíveis serão as de 1, 5, 10, 50 e 100 reais. 8 | O valor mínimo é de 10 reais e o máximo de 600 reais. 9 | 10 | O programa não deve se preocupar com a quantidade de notas existentes na 11 | máquina. 12 | 13 | Exemplo 1: 14 | Para sacar a quantia de 256 reais, o programa fornece duas notas de 100, 15 | uma nota de 50, uma nota de 5 e uma nota de 1; 16 | 17 | Exemplo 2: 18 | Para sacar a quantia de 399 reais, o programa fornece três notas de 100, 19 | uma nota de 50, quatro notas de 10, uma nota de 5 e quatro notas de 1. 20 | """ 21 | valor = int(input("Digite o valor a ser sacado (entre 10 e 600): ")) 22 | if ( 23 | valor < 10 or valor > 600 24 | ): # Os parênteses não são necessários, mas vou passar a usá-los 25 | print("Valor inválido!") 26 | else: 27 | cem = valor // 100 # Pegamos a centena com uma divisão inteira 28 | valor -= cem * 100 # Subtraímos as centenas retiradas do valor total 29 | cinquenta = valor // 50 # Idem para as outras coisas 30 | valor -= cinquenta * 50 31 | dez = valor // 10 32 | valor -= dez * 10 33 | cinco = valor // 5 34 | valor -= cinco * 5 35 | um = valor # Depois de subtrair as de cinco só sobram as de um 36 | if cem > 0: 37 | print(f"{cem} nota(s) de cem") 38 | if cinquenta > 0: 39 | print(f"{cinquenta} nota(s) de cinquenta") 40 | if dez > 0: 41 | print(f"{dez} nota(s) de dez") 42 | if cinco > 0: 43 | print(f"{cinco} nota(s) de cinco") 44 | if um > 0: 45 | print(f"{um} nota(s) de um") 46 | -------------------------------------------------------------------------------- /exercicios/039.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um Programa que peça um número inteiro e determine se ele é par ou impar. 3 | Dica: utilize o operador módulo (resto da divisão). 4 | """ 5 | numero = int(input("Digite um número inteiro: ")) 6 | if numero % 2 == 0: 7 | print("Par") 8 | else: 9 | print("Ímpar") 10 | -------------------------------------------------------------------------------- /exercicios/040.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um Programa que peça um número e informe se o número é inteiro ou decimal. 3 | Dica: utilize uma função de arredondamento. 4 | """ 5 | numero = float(input("Digite um número: ")) 6 | if numero % 1 == 0: 7 | print("Inteiro") 8 | else: 9 | print("Decimal") 10 | -------------------------------------------------------------------------------- /exercicios/041.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um Programa que leia 2 números e em seguida pergunte ao usuário qual 3 | operação ele deseja realizar. 4 | 5 | O resultado da operação deve ser acompanhado de uma 6 | frase que diga se o número é: 7 | par ou ímpar; 8 | positivo ou negativo; 9 | inteiro ou decimal. 10 | """ 11 | numero1 = float(input("Digite um número: ")) 12 | numero2 = float(input("Digite outro número: ")) 13 | op = input("Digite qual operação (+, -, * ou /) deseja realizar: ") 14 | if op == "+": 15 | resultado = numero1 + numero2 16 | elif op == "-": 17 | resultado = numero1 - numero2 18 | elif op == "*": 19 | resultado = numero1 * numero2 20 | elif op == "/": 21 | resultado = numero1 / numero2 22 | else: 23 | resultado = 0 24 | 25 | print("\nO resultado é: ") 26 | 27 | if (resultado // 1) % 2 == 0: 28 | print("Par") 29 | else: 30 | print("Ímpar") 31 | 32 | if resultado >= 0: 33 | print("Positivo") 34 | else: 35 | print("Negativo") 36 | 37 | if resultado % 1 == 0: 38 | print("Inteiro") 39 | else: 40 | print("Decimal") 41 | -------------------------------------------------------------------------------- /exercicios/042.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um programa que faça 5 perguntas para uma pessoa sobre um crime. 3 | As perguntas são: 4 | "Telefonou para a vítima?" 5 | "Esteve no local do crime?" 6 | "Mora perto da vítima?" 7 | "Devia para a vítima?" 8 | "Já trabalhou com a vítima?" 9 | 10 | O programa deve no final emitir uma classificação sobre a participação 11 | da pessoa no crime. 12 | 13 | Se a pessoa responder positivamente a 2 questões ela deve ser classificada 14 | como "Suspeita", entre 3 e 4 como "Cúmplice" e 5 como "Assassino". 15 | Caso contrário, ele será classificado como "Inocente". 16 | """ 17 | positivos = 0 18 | resposta = input("Telefonou para a vítima? (S ou N): ") 19 | if resposta.upper() == "S": 20 | positivos += 1 21 | resposta = input("Esteve no local do crime? (S ou N): ") 22 | if resposta.upper() == "S": 23 | positivos += 1 24 | resposta = input("Mora perto da vítima? (S ou N): ") 25 | if resposta.upper() == "S": 26 | positivos += 1 27 | resposta = input("Devia para a vítima? (S ou N): ") 28 | if resposta.upper() == "S": 29 | positivos += 1 30 | resposta = input("Já trabalhou com a vítima? (S ou N): ") 31 | if resposta.upper() == "S": 32 | positivos += 1 33 | 34 | if positivos < 2: 35 | print("Inocente") 36 | elif positivos == 2: 37 | print("Suspeita") 38 | elif positivos < 5: 39 | print("Cúmplice") 40 | else: 41 | print("Assassino") 42 | -------------------------------------------------------------------------------- /exercicios/043.py: -------------------------------------------------------------------------------- 1 | """ 2 | Um posto está vendendo combustíveis com a seguinte tabela de descontos: 3 | Álcool: 4 | até 20 litros, desconto de 3% por litro 5 | acima de 20 litros, desconto de 5% por litro 6 | Gasolina: 7 | até 20 litros, desconto de 4% por litro 8 | acima de 20 litros, desconto de 6% por litro 9 | 10 | Escreva um algoritmo que leia o número de litros vendidos, 11 | o tipo de combustível (codificado da seguinte forma: A-álcool, G-gasolina), 12 | calcule e imprima o valor a ser pago pelo cliente sabendo-se que o preço do 13 | litro da gasolina é R$ 2,50 o preço do litro do álcool é R$ 1,90. 14 | """ 15 | litros = float(input("Digite quantos litros você quer abastecer: ")) 16 | combustivel = input("Digite A para álcool ou G para gasolina: ") 17 | preco = 0 18 | if combustivel == "A" or combustivel == "a": 19 | preco = litros * 1.9 20 | if litros <= 20: 21 | preco -= 1.9 * litros * 3 / 100 22 | else: 23 | preco -= 1.9 * litros * 5 / 100 24 | elif combustivel == "G" or combustivel == "g": 25 | preco = litros * 2.5 26 | if litros <= 20: 27 | preco -= 2.5 * litros * 4 / 100 28 | else: 29 | preco -= 2.5 * litros * 6 / 100 30 | print(f"O preço a pagar é R${preco:.2f}") 31 | -------------------------------------------------------------------------------- /exercicios/044.py: -------------------------------------------------------------------------------- 1 | """ 2 | Uma fruteira está vendendo frutas com a seguinte tabela de preços: 3 | 4 | Até 5 Kg Acima de 5 Kg 5 | Morango R$ 2,50 por Kg R$ 2,20 por Kg 6 | Maçã R$ 1,80 por Kg R$ 1,50 por Kg 7 | 8 | Se o cliente comprar mais de 8 Kg em frutas ou o valor total da compra 9 | ultrapassar R$ 25,00, receberá ainda um desconto de 10% sobre este total. 10 | 11 | Escreva um algoritmo para ler a quantidade (em Kg) de morangos e a quantidade 12 | (em Kg) de maças adquiridas e escreva o valor a ser pago pelo cliente. 13 | """ 14 | morango = float(input("Digite quantos quilos de morango foram comprados: ")) 15 | maca = float(input("Digite quantos quilos de maçã foram comprados: ")) 16 | valor = 0 17 | 18 | if morango <= 5: 19 | valor += morango * 2.5 20 | else: 21 | valor += morango * 2.2 22 | if maca <= 5: 23 | valor += maca * 1.8 24 | else: 25 | valor += maca * 1.5 26 | 27 | if (morango + maca) > 8 or valor > 25: 28 | valor -= valor * 10 / 100 29 | 30 | print(f"O valor a ser pago é R${valor:.2f}") 31 | -------------------------------------------------------------------------------- /exercicios/045.py: -------------------------------------------------------------------------------- 1 | """ 2 | O Hipermercado Tabajara está com uma promoção de carnes que é imperdível. 3 | Confira: 4 | 5 | Até 5 Kg Acima de 5 Kg 6 | File Duplo R$ 4,90 por Kg R$ 5,80 por Kg 7 | Alcatra R$ 5,90 por Kg R$ 6,80 por Kg 8 | Picanha R$ 6,90 por Kg R$ 7,80 por Kg 9 | 10 | Para atender a todos os clientes, cada cliente poderá levar apenas um dos tipos 11 | de carne da promoção, porém não há limites para a quantidade de carne 12 | por cliente. 13 | 14 | Se compra for feita no cartão Tabajara o cliente receberá ainda um desconto de 15 | 5% sobre o total da compra. 16 | 17 | Escreva um programa que peça o tipo e a quantidade de carne comprada pelo 18 | usuário e gere um cupom fiscal, contendo as informações da compra: 19 | tipo de carne 20 | quantidade de carne 21 | preço total 22 | tipo de pagamento 23 | valor do desconto 24 | valor a pagar. 25 | """ 26 | carne = input("Digite F para filé duplo, A para alcatra e P para picanha: ") 27 | peso = float(input("Digite quantos quilos dessa carne vai comprar: ")) 28 | pagamento = input("Dinheiro ou cartão tabajara (5% de desconto)? D ou C: ") 29 | preco_total = 0 30 | 31 | print("\nHipermercado Tabajara\nCupom fiscal\n") 32 | if carne == "F" or carne == "f": 33 | print("Item: Filé Duplo") 34 | if peso > 5: 35 | preco_total = peso * 5.8 36 | else: 37 | preco_total = peso * 4.9 38 | elif carne == "A" or carne == "a": 39 | print("Item: Alcatra") 40 | if peso > 5: 41 | preco_total = peso * 6.8 42 | else: 43 | preco_total = peso * 5.9 44 | elif carne == "P" or carne == "p": 45 | print("Item: Picanha") 46 | if peso > 5: 47 | preco_total = peso * 7.8 48 | else: 49 | preco_total = peso * 6.9 50 | print(f"Quantidade: {peso:.2f}Kg") 51 | print(f"Preço total: R${preco_total:.2f}") 52 | if pagamento == "D" or pagamento == "d": 53 | print("Tipo de pagamento: Dinheiro") 54 | desconto = 0 55 | print(f"Desconto: R${desconto:.2f}") 56 | print(f"Valor a pagar: R${(preco_total - desconto):.2f}") 57 | elif pagamento == "C" or pagamento == "c": 58 | print("Tipo de pagamento: Cartão Tabajara") 59 | desconto = preco_total * 5 / 100 60 | print(f"Desconto: R${desconto:.2f}") 61 | print(f"Valor a pagar: R${(preco_total - desconto):.2f}") 62 | -------------------------------------------------------------------------------- /exercicios/046.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um programa que peça uma nota, entre zero e dez. 3 | Mostre uma mensagem caso o valor seja inválido e continue pedindo até que o 4 | usuário informe um valor válido. 5 | """ 6 | nota = float(input("Digite uma nota de 0 a 10: ")) 7 | while nota > 10 or nota < 0: 8 | nota = float(input("Valor Inválido\nDigite uma nota de 0 a 10: ")) 9 | -------------------------------------------------------------------------------- /exercicios/047.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um programa que leia um nome de usuário e a sua senha e não aceite a senha 3 | igual ao nome do usuário, mostrando uma mensagem de erro e voltando a 4 | pedir as informações. 5 | """ 6 | usuario = input("Digite o nome de usuario: ") 7 | senha = input("Digite a senha: ") 8 | while usuario == senha: 9 | print("Nome de usuario nao pode ser igual a senha!") 10 | usuario = input("Digite o nome de usuario: ") 11 | senha = input("Digite a senha: ") 12 | -------------------------------------------------------------------------------- /exercicios/048.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um programa que leia e valide as seguintes informações: 3 | Nome: maior que 3 caracteres; 4 | Idade: entre 0 e 150; 5 | Salário: maior que zero; 6 | Sexo: 'f' ou 'm'; 7 | Estado Civil: 's', 'c', 'v', 'd'; 8 | """ 9 | nome = input("Digite o nome: ") 10 | while len(nome) < 4: 11 | print("Nome inválido!") 12 | nome = nome = input("Digite o nome: ") 13 | 14 | idade = int(input("Digite a idade: ")) 15 | while idade < 0 or idade > 150: 16 | print("Idade inválida!") 17 | idade = int(input("Digite a idade: ")) 18 | 19 | salario = int(input("Digite o salário: ")) 20 | while salario <= 0: 21 | print("Salario inválido!") 22 | salario = int(input("Digite a salário: ")) 23 | 24 | sexo = input("Digite o sexo (f ou m): ") 25 | while sexo.lower() != "f" and sexo.lower() != "m": 26 | print("Sexo inválido!") 27 | sexo = input("Digite o sexo (f ou m): ") 28 | 29 | estado_civil = input("Digite o estado civil (s, c, v, d): ").lower() 30 | while ( 31 | estado_civil != "s" 32 | and estado_civil != "c" 33 | and estado_civil != "v" 34 | and estado_civil != "d" 35 | ): 36 | print("Estado civil inválido!") 37 | estado_civil = input("Digite o estado civil (s, c, v, d): ") 38 | -------------------------------------------------------------------------------- /exercicios/049.py: -------------------------------------------------------------------------------- 1 | """ 2 | Supondo que a população de um país A seja da ordem de 80000 habitantes com uma 3 | taxa anual de crescimento de 3% e que a população de B seja 200000 habitantes 4 | com uma taxa de crescimento de 1.5%. 5 | 6 | Faça um programa que calcule e escreva o número de anos necessários para que a 7 | população do país A ultrapasse ou iguale a população do país B, mantidas as 8 | taxas de crescimento. 9 | """ 10 | populacao_a = 80_000 11 | populacao_b = 200_000 12 | anos = 0 13 | while True: 14 | anos += 1 15 | populacao_a *= 1 + (3 / 100) 16 | populacao_b *= 1 + (1.5 / 100) 17 | if populacao_a >= populacao_b: 18 | print( 19 | f"Demorou {anos} anos para a população de " 20 | "A passar ou igualar a de B." 21 | f"\nA tem {populacao_a:.0f} habitantes e B tem {populacao_b:.0f}." 22 | ) 23 | break 24 | -------------------------------------------------------------------------------- /exercicios/050.py: -------------------------------------------------------------------------------- 1 | """ 2 | Altere o programa anterior permitindo ao usuário informar as populações e as 3 | taxas de crescimento iniciais. Valide a entrada e permita repetir a operação. 4 | """ 5 | continuar = True 6 | while continuar: 7 | populacao_a = float(input("Digite a população de A: ")) 8 | populacao_b = float(input("Digite a população de B: ")) 9 | crescimento_a = float( 10 | input("Digite o crescimento percentual da população de A: ") 11 | ) 12 | crescimento_b = float( 13 | input("Digite o crescimento percentual da população de B: ") 14 | ) 15 | anos = 0 16 | while True: 17 | anos += 1 18 | populacao_a *= 1 + (crescimento_a / 100) 19 | populacao_b *= 1 + (crescimento_b / 100) 20 | if populacao_a >= populacao_b: 21 | print( 22 | f"Demorou {anos} anos para a população de " 23 | "A passar ou igualar a de B." 24 | f"\nA tem {populacao_a:.0f} habitantes e " 25 | f"B tem {populacao_b:.0f}." 26 | ) 27 | break 28 | continuar = ( 29 | True if input("Deseja continuar (S/N)? > ").upper() == "S" else False 30 | ) 31 | -------------------------------------------------------------------------------- /exercicios/051.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um programa que imprima na tela os números de 1 a 20, um abaixo do outro. 3 | Depois modifique o programa para que ele mostre os números um ao lado do outro. 4 | """ 5 | for i in range(1, 21): 6 | print(i) 7 | 8 | numeros = "" 9 | for i in range(1, 20): 10 | numeros += f"{i}, " 11 | numeros += "20" 12 | 13 | print(numeros) 14 | -------------------------------------------------------------------------------- /exercicios/052.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um programa que leia 5 números e informe o maior número. 3 | """ 4 | # Existem várias formas de se resolver este problema, e adotei aqui uma forma 5 | # mais voltada a Lógica do quê a praticidade. 6 | 7 | # Vamos precisar da constante 'infinito' da biblioteca matemática 8 | from math import inf 9 | 10 | # Neste não faz sentido usar estrutura de repetição sem utiliza listas 11 | numeros = [] # Uma lista de números vazia 12 | for i in range(5): 13 | numero = float(input("Digite um número (serão 5 ao todo): ")) 14 | numeros.append(numero) # Coloca o número digitado na lista de números 15 | 16 | # Iniciamos um número com o menor valor possível, neste caso, menos infinito 17 | maior_numero = -inf 18 | # Colocar um valor muito pequeno ao invés de infinito pode dar certo também, 19 | # desde que o usuário não digite todos os valores menores do que este primeiro 20 | # valor setado. Por isso usamos o -infinito, pois não tem nada menor que isso. 21 | 22 | # Para cada número na lista de números 23 | for numero in numeros: 24 | # Se o número atual for maior do que o maior número guardado 25 | if numero > maior_numero: 26 | # Então o número atual passa a ser o maior número 27 | maior_numero = numero 28 | 29 | print(maior_numero) 30 | -------------------------------------------------------------------------------- /exercicios/053.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um programa que leia 5 números e informe a soma e a média dos números. 3 | """ 4 | total = 0 5 | for i in range(5): 6 | total += float(input("Digite um numero: ")) 7 | 8 | print(f"A média é {total/5}") 9 | -------------------------------------------------------------------------------- /exercicios/054.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um programa que imprima na tela apenas os números ímpares entre 1 e 50. 3 | """ 4 | for i in range(1, 50, 2): 5 | print(i) 6 | -------------------------------------------------------------------------------- /exercicios/055.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um programa que receba dois números inteiros e gere os números inteiros 3 | que estão no intervalo compreendido por eles. 4 | """ 5 | primeiro_numero = int(input("Digite um numero: ")) 6 | segundo_numero = int(input("Digite um numero: ")) 7 | for i in range(primeiro_numero + 1, segundo_numero): 8 | print(i) 9 | -------------------------------------------------------------------------------- /exercicios/056.py: -------------------------------------------------------------------------------- 1 | """ 2 | Altere o programa anterior para mostrar no final a soma dos números. 3 | """ 4 | primeiro_numero = int(input("Digite um numero: ")) 5 | segundo_numero = int(input("Digite um numero: ")) 6 | somatorio = 0 7 | for i in range(primeiro_numero + 1, segundo_numero): 8 | print(i) 9 | somatorio += i 10 | print(f"Somatorio: {somatorio}") 11 | -------------------------------------------------------------------------------- /exercicios/057.py: -------------------------------------------------------------------------------- 1 | """ 2 | Desenvolva um gerador de tabuada, capaz de gerar a tabuada de qualquer número 3 | inteiro entre 1 a 10. 4 | O usuário deve informar de qual numero ele deseja ver a tabuada. 5 | A saída deve ser conforme o exemplo abaixo: 6 | Tabuada de 5: 7 | 5 X 1 = 5 8 | 5 X 2 = 10 9 | ... 10 | 5 X 10 = 50 11 | """ 12 | numero = int(input("Digite um numero de 1 a 10: ")) 13 | for i in range(1, 11): 14 | print(f"{numero} X {i} = {numero * i}") 15 | -------------------------------------------------------------------------------- /exercicios/058.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um programa que peça dois números, base e expoente, 3 | calcule e mostre o primeiro número elevado ao segundo número. 4 | Não utilize a função de potência da linguagem. 5 | """ 6 | base = float(input("Digite a base: ")) 7 | expoente = int(input("Digite o expoente: ")) 8 | numero = 1 9 | for _ in range(expoente): 10 | numero *= base 11 | print(f"{base} elevado a {expoente} é {numero}") 12 | -------------------------------------------------------------------------------- /exercicios/059.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um programa que peça 10 números inteiros, calcule e mostre a quantidade de 3 | números pares e a quantidade de números impares. 4 | """ 5 | pares = 0 6 | impares = 0 7 | for _ in range(10): 8 | if int(input("Digite um numero: ")) % 2 == 0: 9 | pares += 1 10 | else: 11 | impares += 1 12 | print(f"Pares: {pares}\nÍmpares: {impares}") 13 | -------------------------------------------------------------------------------- /exercicios/060.py: -------------------------------------------------------------------------------- 1 | """ 2 | A série de Fibonacci é formada pela seqüência 1,1,2,3,5,8,13,21,34,55,... 3 | Faça um programa capaz de gerar a série até o n−ésimo termo. 4 | """ 5 | termos = int(input("Digite o numero de termos da série de Fibonacci: ")) 6 | numero = 1 7 | numero_anterior = 0 8 | for _ in range(termos): 9 | print(numero) 10 | aux = numero 11 | numero += numero_anterior 12 | numero_anterior = aux 13 | -------------------------------------------------------------------------------- /exercicios/061.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um programa que calcule o fatorial de um número inteiro fornecido pelo 3 | usuário. Ex.: 5!=5.4.3.2.1=120 4 | """ 5 | numero = int(input("Digite um numero: ")) 6 | fatorial = 1 7 | for i in range(numero, 1, -1): 8 | fatorial *= i 9 | print(f"O fatorial de {numero} é {fatorial}") 10 | -------------------------------------------------------------------------------- /exercicios/062.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um programa que, dado um conjunto de N números, determine o menor valor, 3 | o maior valor e a soma dos valores. 4 | """ 5 | from math import inf # Constante 'infinito' 6 | 7 | # Para resolver com um laço é necessário utilizar uma lista 8 | numeros = [] 9 | 10 | while True: 11 | valor = input( 12 | "Digite um número ou 'p' para parar e exibir os resultados: " 13 | ) 14 | if valor.upper() == "P": 15 | break 16 | numeros.append(float(valor)) 17 | 18 | menor_numero = inf 19 | for numero in numeros: 20 | if numero < menor_numero: 21 | menor_numero = numero 22 | print(f"O menor número é {menor_numero}") 23 | 24 | maior_numero = -inf 25 | for numero in numeros: 26 | if numero > maior_numero: 27 | maior_numero = numero 28 | print(f"O maior número é {maior_numero}") 29 | 30 | soma = 0 31 | for numero in numeros: 32 | soma += numero 33 | print(f"A soma dos números é {soma}") 34 | -------------------------------------------------------------------------------- /exercicios/063.py: -------------------------------------------------------------------------------- 1 | """ 2 | Altere o programa anterior para que ele aceite apenas números entre 0 e 1000. 3 | """ 4 | from math import inf # Constante 'infinito' 5 | 6 | # Para resolver com um laço é necessário utilizar uma lista 7 | numeros = [] 8 | 9 | while True: 10 | valor = input( 11 | "Digite um número entre 0 e 1000 " 12 | "ou 'p' para parar e exibir os resultados: " 13 | ) 14 | if valor.upper() == "P": 15 | break 16 | valor = float(valor) 17 | if 0 <= valor <= 1000: 18 | numeros.append(valor) 19 | 20 | menor_numero = inf 21 | for numero in numeros: 22 | if numero < menor_numero: 23 | menor_numero = numero 24 | print(f"O menor número é {menor_numero}") 25 | 26 | maior_numero = -inf 27 | for numero in numeros: 28 | if numero > maior_numero: 29 | maior_numero = numero 30 | print(f"O maior número é {maior_numero}") 31 | 32 | soma = 0 33 | for numero in numeros: 34 | soma += numero 35 | print(f"A soma dos números é {soma}") 36 | -------------------------------------------------------------------------------- /exercicios/064.py: -------------------------------------------------------------------------------- 1 | """ 2 | Altere o programa de cálculo do fatorial (61), permitindo ao usuário calcular o 3 | fatorial várias vezes e limitando o fatorial a números inteiros positivos e 4 | menores que 16. 5 | """ 6 | while True: 7 | numero = int(input("Digite um numero: ")) 8 | if not 0 < numero < 16: 9 | continue 10 | fatorial = 1 11 | for i in range(numero, 1, -1): 12 | fatorial *= i 13 | print(f"O fatorial de {numero} é {fatorial}") 14 | if input("Deseja continuar? (S/N): ").upper() != "S": 15 | break 16 | -------------------------------------------------------------------------------- /exercicios/065.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um programa que peça um número inteiro e determine se ele é ou não um 3 | número primo. Um número primo é aquele que é divisível somente por ele mesmo 4 | e por 1. 5 | """ 6 | numero = int(input("Digite um numero inteiro: ")) 7 | primo = True 8 | for i in range(2, numero): 9 | if numero % i == 0: 10 | primo = False 11 | print(f"{numero} não é primo!") 12 | break 13 | if primo: 14 | print(f"{numero} é primo!") 15 | -------------------------------------------------------------------------------- /exercicios/066.py: -------------------------------------------------------------------------------- 1 | """ 2 | Altere o programa de cálculo dos números primos, informando, caso o número não 3 | seja primo, por quais número ele é divisível. 4 | """ 5 | numero = int(input("Digite um numero inteiro: ")) 6 | primo = True 7 | for i in range(2, numero): 8 | if numero % i == 0: 9 | primo = False 10 | print(f"{numero} não é primo! É divisível por {i}.") 11 | if primo: 12 | print(f"{numero} é primo!") 13 | -------------------------------------------------------------------------------- /exercicios/067.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um programa que mostre todos os primos entre 1 e N sendo N um número 3 | inteiro fornecido pelo usuário. 4 | 5 | O programa deverá mostrar também o número de divisões que ele executou para 6 | encontrar os números primos. 7 | 8 | Serão avaliados o funcionamento, o estilo e o número de testes (divisões) 9 | executados. 10 | """ 11 | numero = int(input("Digite um numero inteiro: ")) 12 | if numero == 1 or numero == 2: 13 | print( 14 | f"{numero} é primo e foram executadas 0 divisões para descobrir isso" 15 | ) 16 | elif numero % 2 == 0: 17 | print( 18 | f"{numero} não é primo e foi executada uma divisão para descobrir isso" 19 | ) 20 | else: 21 | contador = 1 22 | primo = True 23 | for i in range(3, numero, 2): 24 | contador += 1 25 | if numero % i == 0: 26 | primo = False 27 | break 28 | if primo: 29 | print( 30 | f"{numero} é primo e foram executadas" 31 | f" {contador} divisões para descobrir isso" 32 | ) 33 | else: 34 | print( 35 | f"{numero} não é primo e foram executadas" 36 | f" {contador} divisões para descobrir isso" 37 | ) 38 | -------------------------------------------------------------------------------- /exercicios/068.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um programa que calcule o mostre a média aritmética de N notas. 3 | """ 4 | notas = 0 5 | contador = 0 6 | continuar = "S" 7 | while continuar == "S": 8 | nota = float(input("Digite uma nota: ")) 9 | notas += nota 10 | contador += 1 11 | continuar = input("Deseja continuar? (S/N): ").upper() 12 | 13 | print(f"A média das notas é {notas/contador:.2f}.") 14 | -------------------------------------------------------------------------------- /exercicios/069.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um programa que peça para n pessoas a sua idade, ao final o programa 3 | deverá verificar se a média de idade da turma varia entre 0 e 25,26 e 60 e 4 | maior que 60; e então, dizer se a turma é jovem, adulta ou idosa, conforme a 5 | média calculada. 6 | """ 7 | numero_de_pessoas = int(input("Digite o numero de pessoas: ")) 8 | media = 0 9 | 10 | # + 1 pois a contagem está iniciando em 1, e não em 0 (o padrão) 11 | for i in range(1, numero_de_pessoas + 1): 12 | idade = int(input(f"Digite a idade da pessoa {i}: ")) 13 | media = ((media * (i - 1)) + idade) / i 14 | 15 | if media < 26: 16 | print("A turma é jovem") 17 | elif media < 60: 18 | print("A turma é adulta") 19 | else: 20 | print("A turma é idosa") 21 | -------------------------------------------------------------------------------- /exercicios/070.py: -------------------------------------------------------------------------------- 1 | """ 2 | Numa eleição existem três candidatos. 3 | Faça um programa que peça o número total de eleitores. 4 | Peça para cada eleitor votar e ao final mostrar o número de votos 5 | de cada candidato. 6 | """ 7 | votos_candidato_1 = 0 8 | votos_candidato_2 = 0 9 | votos_candidato_3 = 0 10 | eleitores = int(input("Digite o numero de eleitores: ")) 11 | for i in range(eleitores): 12 | voto = input( 13 | "Digite o numero (1/2/3) do candidato em quem o " 14 | f"eleitor {i + 1} quer votar: " 15 | ) 16 | if voto == "1": 17 | votos_candidato_1 += 1 18 | if voto == "2": 19 | votos_candidato_2 += 1 20 | if voto == "3": 21 | votos_candidato_3 += 1 22 | 23 | print( 24 | "Votação encerrada" 25 | f"\nCandidato 1: {votos_candidato_1} voto(s)" 26 | f"\nCandidato 2: {votos_candidato_2} voto(s)" 27 | f"\nCandidato 3: {votos_candidato_3} voto(s)" 28 | ) 29 | -------------------------------------------------------------------------------- /exercicios/071.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um programa que calcule o número médio de alunos por turma. 3 | Para isto, peça a quantidade de turmas e a quantidade de 4 | alunos para cada turma. 5 | As turmas não podem ter mais de 40 alunos. 6 | """ 7 | turmas = int(input("Digite quantas turmas tem: ")) 8 | media = 0 9 | for i in range(turmas): 10 | while True: 11 | alunos = int(input(f"Digite quantos alunos tem na turma {i + 1}: ")) 12 | if alunos <= 40: 13 | break 14 | media = ((media * i) + alunos) / (i + 1) 15 | print(f"A media de alunos por turma é {media}") 16 | -------------------------------------------------------------------------------- /exercicios/072.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um programa que calcule o valor total investido por um colecionador em sua 3 | coleção de CDs e o valor médio gasto em cada um deles. 4 | O usuário deverá informar a quantidade de CDs e o valor para em cada um. 5 | """ 6 | cds = int(input("Digite a quantidade de CDs: ")) 7 | preco = 0 8 | for i in range(cds): 9 | preco += float(input(f"Digite o preço do CD {i+1}: ")) 10 | print(f"Preço total: R${preco:.2f}\nMédia de custo por CD: R${preco/cds:.2f}") 11 | -------------------------------------------------------------------------------- /exercicios/073.py: -------------------------------------------------------------------------------- 1 | """ 2 | O Sr. Manoel Joaquim possui uma grande loja de artigos de R$ 1,99, 3 | com cerca de 10 caixas. 4 | 5 | Para agilizar o cálculo de quanto cada cliente deve pagar ele desenvolveu uma 6 | tabela que contém o número de itens que o cliente comprou e ao lado 7 | o valor da conta. 8 | 9 | Desta forma a atendente do caixa precisa apenas contar quantos itens o cliente 10 | está levando e olhar na tabela de preços. 11 | 12 | Você foi contratado para desenvolver o programa que monta esta 13 | tabela de preços, que conterá os preços de 1 até 50 produtos, 14 | conforme o exemplo abaixo: 15 | 16 | Lojas Quase Dois - Tabela de preços 17 | 1 - R$ 1.99 18 | 2 - R$ 3.98 19 | ... 20 | 50 - R$ 99.50 21 | """ 22 | print("Lojas Quase Dois - Tabela de preços") 23 | for i in range(1, 51): 24 | print(f"{i:2d} - R$ {1.99*i:5.2f}") 25 | -------------------------------------------------------------------------------- /exercicios/074.py: -------------------------------------------------------------------------------- 1 | """ 2 | O Sr. Manoel Joaquim acaba de adquirir uma panificadora e pretende implantar a 3 | metodologia da tabelinha, que já é um sucesso na sua loja de 1,99. 4 | 5 | Você foi contratado para desenvolver o programa que monta a tabela de preços de 6 | pães, de 1 até 50 pães, a partir do preço do pão informado pelo usuário, 7 | conforme o exemplo abaixo: 8 | 9 | Preço do pão: R$ 0.18 10 | Panificadora Pão de Ontem - Tabela de preços 11 | 1 - R$ 0.18 12 | 2 - R$ 0.36 13 | ... 14 | 50 - R$ 9.00 15 | """ 16 | preco = float(input("Preço do pão: ")) 17 | print("Panificadora Pão de Ontem - Tabela de preços") 18 | for i in range(1, 51): 19 | print(f"{i:2d} - R$ {preco*i:5.2f}") 20 | -------------------------------------------------------------------------------- /exercicios/075.py: -------------------------------------------------------------------------------- 1 | """ 2 | O Sr. Manoel Joaquim expandiu seus negócios para além dos negócios de 1,99 e 3 | agora possui uma loja de conveniências. 4 | 5 | Faça um programa que implemente uma caixa registradora rudimentar. 6 | 7 | O programa deverá receber um número desconhecido de valores referentes aos 8 | preços das mercadorias. 9 | 10 | Um valor zero deve ser informado pelo operador para indicar o final da compra. 11 | 12 | O programa deve então mostrar o total da compra e perguntar o valor em dinheiro 13 | que o cliente forneceu, para então calcular e mostrar o valor do troco. 14 | 15 | Após esta operação, o programa deverá voltar ao ponto inicial, para registrar a 16 | próxima compra. 17 | 18 | A saída deve ser conforme o exemplo abaixo: 19 | Lojas Tabajara 20 | Produto 1: R$ 2.20 21 | Produto 2: R$ 5.80 22 | Produto 3: R$ 0 23 | Total: R$ 9.00 24 | Dinheiro: R$ 20.00 25 | Troco: R$ 11.00 26 | """ 27 | print("Lojas Tabajara") 28 | total = 0 29 | produto = 0 30 | valor = 0 31 | 32 | while True: 33 | produto += 1 34 | valor = float(input(f"Produto {produto}: R$ ")) 35 | if valor == 0: 36 | break 37 | total += valor 38 | 39 | print(f"Total: R$ {total:.2f}") 40 | dinheiro = float(input("Dinheiro: R$ ")) 41 | print(f"Troco: {dinheiro - total:.2f}") 42 | -------------------------------------------------------------------------------- /exercicios/076.py: -------------------------------------------------------------------------------- 1 | """ 2 | O Departamento Estadual de Meteorologia lhe contratou para desenvolver um 3 | programa que leia as um conjunto indeterminado de temperaturas, 4 | e informe ao final a menor e a maior temperaturas informadas, 5 | bem como a média das temperaturas. 6 | """ 7 | from math import inf 8 | 9 | maior = -inf 10 | menor = inf 11 | soma = 0 12 | contador = 0 13 | while True: 14 | temperatura = float( 15 | input("Digite a temperatura em Kelvin. Negativa para parar: ") 16 | ) 17 | if temperatura < 0: 18 | break 19 | 20 | contador += 1 21 | soma += temperatura 22 | if temperatura < menor: 23 | menor = temperatura 24 | if temperatura > maior: 25 | maior = temperatura 26 | 27 | print(f"A menor temperatura foi {menor}K") 28 | print(f"A maior temperatura foi {maior}K") 29 | print(f"A média das temperaturas foi {soma / contador:.3f}K") 30 | -------------------------------------------------------------------------------- /exercicios/077.py: -------------------------------------------------------------------------------- 1 | """ 2 | Desenvolva um programa que faça a tabuada de um número qualquer inteiro que 3 | será digitado pelo usuário, mas a tabuada não deve necessariamente iniciar em 1 4 | e terminar em 10, o valor inicial e final devem ser informados também pelo 5 | usuário, conforme exemplo abaixo: 6 | 7 | Montar a tabuada de: 5 8 | Começar por: 4 9 | Terminar em: 7 10 | 11 | Vou montar a tabuada de 5 começando em 4 e terminando em 7: 12 | 5 X 4 = 20 13 | 5 X 5 = 25 14 | 5 X 6 = 30 15 | 5 X 7 = 35 16 | 17 | Obs: Você deve verificar se o usuário não digitou o final menor que o inicial. 18 | """ 19 | de = int(input("Montar a tabuada de: ")) 20 | comeco = int(input("Começar por: ")) 21 | fim = int(input("Terminar em: ")) 22 | 23 | for i in range(comeco, fim + 1): 24 | print(f"{de} X {i} = {de * i}") 25 | -------------------------------------------------------------------------------- /exercicios/078.py: -------------------------------------------------------------------------------- 1 | """ 2 | Uma academia deseja fazer um senso entre seus clientes para descobrir o mais 3 | alto, o mais baixo, a mais gordo e o mais magro, para isto você deve fazer um 4 | programa que pergunte a cada um dos clientes da academia seu código, 5 | sua altura e seu peso. 6 | 7 | O final da digitação de dados deve ser dada quando o usuário digitar 0 (zero) 8 | no campo código. 9 | 10 | Ao encerrar o programa também deve ser informados os códigos e valores do 11 | clente mais alto, do mais baixo, do mais gordo e do mais magro, além da média 12 | das alturas e dos pesos dos clientes. 13 | """ 14 | codigo_mais_gordo = 0 15 | codigo_mais_magro = 0 16 | codigo_mais_alto = 0 17 | codigo_mais_baixo = 0 18 | 19 | # ? No lugar de -math.inf e math.inf, vão os valores 0 e 1000 pois 20 | # ? Não dá pra alguém pesar menos que 0kg 21 | peso_mais_gordo = 0 22 | # ? Não deve ter alguém que pese mais que 1 tonelada 23 | peso_mais_magro = 1000 24 | # ? Mesma ideia pro peso serve para a altura 25 | altura_mais_alto = 0 26 | altura_mais_baixo = 500 # * Altura vai ser em centímetros 27 | 28 | soma_dos_pesos = 0 29 | soma_das_alturas = 0 30 | quantidade_de_clientes = 0 31 | 32 | while True: 33 | codigo = input("Digite o codigo do cliente: ") 34 | if codigo == "0": 35 | break 36 | 37 | quantidade_de_clientes += 1 38 | altura = int(input("Digite a altura do cliente (em centímetros): ")) 39 | peso = float(input("Digite o peso do cliente (em kg): ")) 40 | 41 | soma_dos_pesos += peso 42 | soma_das_alturas += altura 43 | 44 | if altura > altura_mais_alto: 45 | altura_mais_alto = altura 46 | codigo_mais_alto = codigo 47 | 48 | if altura < altura_mais_baixo: 49 | altura_mais_baixo = altura 50 | codigo_mais_baixo = codigo 51 | 52 | if peso > peso_mais_gordo: 53 | peso_mais_gordo = peso 54 | codigo_mais_gordo = codigo 55 | 56 | if peso < peso_mais_magro: 57 | peso_mais_magro = peso 58 | codigo_mais_magro = codigo 59 | 60 | media_das_alturas = soma_das_alturas / quantidade_de_clientes 61 | media_dos_pesos = soma_dos_pesos / quantidade_de_clientes 62 | 63 | print( 64 | f"O cliente mais alto é o que tem o código {codigo_mais_alto}" 65 | f" e ele possui {altura_mais_alto}cm de altura\n" 66 | f"O cliente mais baixo é o que tem o código {codigo_mais_baixo}" 67 | f" e ele possui {altura_mais_baixo}cm de altura\n" 68 | f"O cliente mais gordo é o que tem o código {codigo_mais_gordo}" 69 | f" e ele pesa {peso_mais_gordo:.2f}kg\n" 70 | f"O cliente mais magro é o que tem o código {codigo_mais_magro}" 71 | f" e ele pesa {peso_mais_magro:.2f}kg\n" 72 | f"A média de altura dos clientes é de {media_das_alturas:.2f}cm\n" 73 | f"A média de peso dos clientes é de {media_dos_pesos:.2f}kg" 74 | ) 75 | -------------------------------------------------------------------------------- /exercicios/079.py: -------------------------------------------------------------------------------- 1 | """ 2 | Um funcionário de uma empresa recebe aumento salarial anualmente. 3 | 4 | Sabe-se que: 5 | Esse funcionário foi contratado em 1995, com salário inicial de R$ 1.000,00; 6 | Em 1996 recebeu aumento de 1,5% sobre seu salário inicial; 7 | A partir de 1997 (inclusive), os aumentos salariais sempre correspondem ao 8 | dobro do percentual do ano anterior. 9 | 10 | Faça um programa que determine o salário atual desse funcionário. 11 | Após concluir isto, altere o programa permitindo que o usuário digite o salário 12 | inicial do funcionário. 13 | """ 14 | salario = float(input("Dgite o salário inicial do funcionário em 1995: ")) 15 | ano = 1995 16 | ano_atual = int(input("Digite em que ano estamos: ")) 17 | aumento = 1.5 / 100 # ? 1.5% 18 | 19 | while ano < ano_atual: 20 | ano += 1 21 | salario *= 1 + aumento 22 | aumento *= 2 23 | 24 | print(f"O salario em {ano} é de R$ {salario:.2f}") 25 | -------------------------------------------------------------------------------- /exercicios/080.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um programa que leia dez conjuntos de dois valores, 3 | o primeiro representando o número do aluno e o segundo representando 4 | a sua altura em centímetros. 5 | 6 | Encontre o aluno mais alto e o mais baixo. 7 | 8 | Mostre o número do aluno mais alto e o número do aluno mais baixo, 9 | junto com suas alturas. 10 | """ 11 | altura_mais_alto = 0 12 | aluno_mais_alto = 0 13 | altura_mais_baixo = 200 14 | aluno_mais_baixo = 0 15 | for i in range(1, 11): # ? Vai do 1 ao 10 16 | altura = int(input(f"Digite a altura do aluno {i} em cm: ")) 17 | if altura > altura_mais_alto: 18 | aluno_mais_alto = i 19 | altura_mais_alto = altura 20 | if altura < altura_mais_baixo: 21 | aluno_mais_baixo = i 22 | altura_mais_baixo = altura 23 | 24 | print(f"O mais alto é o aluno {aluno_mais_alto} com {altura_mais_alto}cm") 25 | print(f"O mais baixo é o aluno {aluno_mais_baixo} com {altura_mais_baixo}cm") 26 | -------------------------------------------------------------------------------- /exercicios/081.py: -------------------------------------------------------------------------------- 1 | """ 2 | Foi feita uma estatística em cinco cidades brasileiras para coletar dados sobre 3 | acidentes de trânsito. 4 | 5 | Foram obtidos os seguintes dados: 6 | Código da cidade; 7 | Número de veículos de passeio (em 1999); 8 | Número de acidentes de trânsito com vítimas (em 1999). 9 | 10 | Deseja-se saber: 11 | Qual o maior e menor índice de acidentes de transito 12 | e a que cidade pertence; 13 | Qual a média de veículos nas cinco cidades juntas; 14 | Qual a média de acidentes de trânsito nas cidades com menos de 15 | 2.000 veículos de passeio. 16 | """ 17 | maior_indice = 0 18 | codigo_maior_indice = 0 19 | menor_indice = 100000000000000 20 | codigo_menor_indice = 0 21 | total_de_veiculos = 0 22 | cidades_menos_de_2000 = 0 23 | acidentes_cidades_menos_de_2000 = 0 24 | 25 | for _ in range(5): 26 | codigo = int(input("Digite o codigo da cidade: ")) 27 | veiculos = int(input("Digite o número de veículos de passeio: ")) 28 | acidentes = int(input("Digite o número de acidentes: ")) 29 | 30 | if acidentes > maior_indice: 31 | maior_indice = acidentes 32 | codigo_maior_indice = codigo 33 | if acidentes < menor_indice: 34 | menor_indice = acidentes 35 | codigo_menor_indice = codigo 36 | 37 | total_de_veiculos += veiculos 38 | 39 | if veiculos < 2000: 40 | cidades_menos_de_2000 += 1 41 | acidentes_cidades_menos_de_2000 += acidentes 42 | 43 | print( 44 | f"A cidade com maior índice de acidentes é a {codigo_maior_indice}" 45 | f" com {maior_indice} acidentes" 46 | ) 47 | print( 48 | f"A cidade com menor índice de acidentes é a {codigo_menor_indice}" 49 | f" com {menor_indice} acidentes" 50 | ) 51 | print(f"A média de veículos é de {total_de_veiculos/5:.2f}") 52 | print( 53 | "A média de acidentes em cidades com menos de 2000 veículos é de " 54 | f"{acidentes_cidades_menos_de_2000/cidades_menos_de_2000:.2f}" 55 | ) 56 | -------------------------------------------------------------------------------- /exercicios/082.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um programa que receba o valor de uma dívida e mostre uma tabela com os 3 | seguintes dados: valor da dívida, valor dos juros, quantidade de parcelas e 4 | valor da parcela. 5 | 6 | Os juros e a quantidade de parcelas seguem a tabela abaixo: 7 | Quantidade de Parcelas % de Juros sobre o valor inicial da dívida 8 | 1 0 9 | 3 10 10 | 6 15 11 | 9 20 12 | 12 25 13 | 14 | Exemplo de saída do programa: 15 | Valor da Dívida Valor dos Juros Quantidade de Parcelas Valor da Parcela 16 | R$ 1.000,00 0 1 R$ 1.000,00 17 | R$ 1.100,00 100 3 R$ 366,00 18 | R$ 1.150,00 150 6 R$ 191,67 19 | """ 20 | valor_da_divida = float(input("Digite o valor da dívida: ")) 21 | parcelas = 1 22 | juros = 0 23 | print( 24 | "|Valor da Dívida|Valor dos Juros|Quantidade de Parcelas|Valor da Parcela|" 25 | ) 26 | while True: 27 | # ? A fórmula abaixo foi encontrada usando a equação da reta 28 | # ? y - y0 = m * (x - x0), com y = 15, y= = 10, x = 6 e x0 = 3 29 | # ? y -> Percentual de juros | x -> Quantidade de parcelas 30 | juros = (5 / 3) * parcelas + 5 31 | # ? Não é uma reta perfeita pois quando x=1, y=0 32 | if parcelas == 1: 33 | juros = 0 34 | 35 | valor_do_juros = valor_da_divida * (juros / 100) 36 | valor_total = valor_da_divida + valor_do_juros 37 | valor_da_parcela = valor_total / parcelas 38 | print( 39 | f"|R$ {valor_total:.2f}\t" 40 | f"|R$ {valor_do_juros:.2f}\t" 41 | f"|{parcelas}\t\t\t" 42 | f"|R$ {valor_da_parcela:.2f}" 43 | ) 44 | if parcelas == 1: 45 | parcelas -= 1 46 | parcelas += 3 47 | if parcelas > 12: 48 | break 49 | -------------------------------------------------------------------------------- /exercicios/083.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um programa que leia uma quantidade indeterminada de números positivos e 3 | conte quantos deles estão nos seguintes intervalos: 4 | [0-25], [26-50], [51-75] e [76-100]. 5 | 6 | A entrada de dados deverá terminar quando for lido um número negativo. 7 | """ 8 | range1 = 0 9 | range2 = 0 10 | range3 = 0 11 | range4 = 0 12 | 13 | while True: 14 | numero = int( 15 | input("Digite um numero inteiro de 0 a 100 (ou negativo para parar): ") 16 | ) 17 | if numero < 0: 18 | break 19 | if numero <= 25: 20 | range1 += 1 21 | elif numero <= 50: 22 | range2 += 1 23 | elif numero <= 75: 24 | range3 += 1 25 | elif numero <= 100: 26 | range4 += 1 27 | else: 28 | print("Número inválido!") 29 | 30 | print("Dos numeros digitados: ") 31 | print(f"{range1} foram de [0-25]") 32 | print(f"{range2} foram de [26-50]") 33 | print(f"{range3} foram de [51-75]") 34 | print(f"{range4} foram de [76-100]") 35 | -------------------------------------------------------------------------------- /exercicios/084.py: -------------------------------------------------------------------------------- 1 | """ 2 | O cardápio de uma lanchonete é o seguinte: 3 | Especificação Código Preço 4 | Cachorro Quente 100 R$ 1,20 5 | Bauru Simples 101 R$ 1,30 6 | Bauru com ovo 102 R$ 1,50 7 | Hambúrguer 103 R$ 1,20 8 | Cheeseburguer 104 R$ 1,30 9 | Refrigerante 105 R$ 1,00 10 | Faça um programa que leia o código dos itens pedidos e as quantidades 11 | desejadas. 12 | 13 | Calcule e mostre o valor a ser pago por item (preço * quantidade) e o total 14 | geral do pedido. 15 | 16 | Considere que o cliente deve informar quando o pedido deve ser encerrado. 17 | """ 18 | quantidade_produto_100 = 0 19 | quantidade_produto_101 = 0 20 | quantidade_produto_102 = 0 21 | quantidade_produto_103 = 0 22 | quantidade_produto_104 = 0 23 | quantidade_produto_105 = 0 24 | total = 0 25 | 26 | print( 27 | "Produto Codigo Preço" 28 | "\n-------------------------------" 29 | "\nCachorro Quente 100 R$ 1.20" 30 | "\nBauru Simples 101 R$ 1.30" 31 | "\nBauru com ovo 102 R$ 1.50" 32 | "\nHamburguer 103 R$ 1.20" 33 | "\nCheeseburguer 104 R$ 1.30" 34 | "\nRefrigerante 105 R$ 1.00\n" 35 | ) 36 | 37 | while True: 38 | codigo = int(input("Digite o codigo do produto (ou 0 para encerrar): ")) 39 | if codigo == 0: 40 | break 41 | if codigo > 105 or codigo < 100: 42 | print("Codigo inválido!") 43 | continue 44 | 45 | quantidade = int(input("Digite a quantidade desse produto: ")) 46 | if codigo == 100: 47 | quantidade_produto_100 += quantidade 48 | elif codigo == 101: 49 | quantidade_produto_101 += quantidade 50 | elif codigo == 102: 51 | quantidade_produto_102 += quantidade 52 | elif codigo == 103: 53 | quantidade_produto_103 += quantidade 54 | elif codigo == 104: 55 | quantidade_produto_104 += quantidade 56 | else: 57 | quantidade_produto_105 += quantidade 58 | 59 | print( 60 | "\nFechamento do pedido" 61 | "\nCodigo - Quantidade - Preço unidade - Preço total" 62 | ) 63 | if quantidade_produto_100 > 0: 64 | print( 65 | f"100\t-\t{quantidade_produto_100}\t- R$ 1.20\t-" 66 | f"\tR$ {quantidade_produto_100 * 1.2:.2f}" 67 | ) 68 | total += quantidade_produto_100 * 1.2 69 | if quantidade_produto_101 > 0: 70 | print( 71 | f"101\t-\t{quantidade_produto_101}\t- R$ 1.30\t-" 72 | f"\tR$ {quantidade_produto_101 * 1.3:.2f}" 73 | ) 74 | total += quantidade_produto_101 * 1.3 75 | if quantidade_produto_102 > 0: 76 | print( 77 | f"102\t-\t{quantidade_produto_102}\t- R$ 1.50\t-" 78 | f"\tR$ {quantidade_produto_102 * 1.5:.2f}" 79 | ) 80 | total += quantidade_produto_102 * 1.5 81 | if quantidade_produto_103 > 0: 82 | print( 83 | f"103\t-\t{quantidade_produto_103}\t- R$ 1.20\t-" 84 | f"\tR$ {quantidade_produto_103 * 1.2:.2f}" 85 | ) 86 | total += quantidade_produto_103 * 1.2 87 | if quantidade_produto_104 > 0: 88 | print( 89 | f"104\t-\t{quantidade_produto_104}\t- R$ 1.30\t-" 90 | f"\tR$ {quantidade_produto_104 * 1.3:.2f}" 91 | ) 92 | total += quantidade_produto_104 * 1.3 93 | if quantidade_produto_105 > 0: 94 | print( 95 | f"105\t-\t{quantidade_produto_105}\t- R$ 1.00\t-" 96 | f"\tR$ {quantidade_produto_105 * 1.0:.2f}" 97 | ) 98 | total += quantidade_produto_105 * 1.0 99 | 100 | print(f"Total do pedido: R$ {total:.2f}") 101 | -------------------------------------------------------------------------------- /exercicios/085.py: -------------------------------------------------------------------------------- 1 | """ 2 | Em uma eleição presidencial existem quatro candidatos. 3 | Os votos são informados por meio de código. 4 | Os códigos utilizados são: 5 | 1, 2, 3, 4 - Votos para os respectivos candidatos 6 | (você deve montar a tabela ex: 1 - Jose/ 2- João/etc) 7 | 5 - Voto Nulo 8 | 6 - Voto em Branco 9 | 10 | Faça um programa que calcule e mostre: 11 | O total de votos para cada candidato; 12 | O total de votos nulos; 13 | O total de votos em branco; 14 | A percentagem de votos nulos sobre o total de votos; 15 | A percentagem de votos em branco sobre o total de votos. 16 | 17 | Para finalizar o conjunto de votos tem-se o valor zero. 18 | """ 19 | print("Candidatos: \n1 - José\n2 - João\n3 - Maria\n4 - Clara") 20 | print("Digite 0 para sair, 5 para votar nulo ou 6 para votar em branco.") 21 | votos = 0 22 | candidato_1 = 0 23 | candidato_2 = 0 24 | candidato_3 = 0 25 | candidato_4 = 0 26 | nulos = 0 27 | brancos = 0 28 | while True: 29 | voto = int(input(f"Digite o voto numero {votos + 1}: ")) 30 | if voto == 0: 31 | break 32 | votos += 1 33 | if voto == 1: 34 | candidato_1 += 1 35 | elif voto == 2: 36 | candidato_2 += 1 37 | elif voto == 3: 38 | candidato_3 += 1 39 | elif voto == 4: 40 | candidato_4 += 1 41 | elif voto == 5: 42 | nulos += 1 43 | elif voto == 6: 44 | brancos += 1 45 | else: 46 | print("Voto inválido!") 47 | votos -= 1 48 | 49 | print( 50 | "\nResultado da eleição:" 51 | f"\nJosé teve {candidato_1} votos" 52 | f"\nJoão teve {candidato_2} votos" 53 | f"\nMaria teve {candidato_3} votos" 54 | f"\nClara teve {candidato_4} votos" 55 | f"\n{nulos} votos foram anulados, um total de {100 * nulos / votos:.2f}%" 56 | f"\n{brancos} votos foram em branco, " 57 | f"um total de {100 * brancos / votos:.2f}%" 58 | ) 59 | -------------------------------------------------------------------------------- /exercicios/086.py: -------------------------------------------------------------------------------- 1 | """ 2 | Desenvolver um programa para verificar a nota do aluno em uma prova com 10 3 | questões, o programa deve perguntar ao aluno a resposta de cada questão e ao 4 | final comparar com o gabarito da prova e assim calcular o total de acertos e a 5 | nota (atribuir 1 ponto por resposta certa). 6 | 7 | Após cada aluno utilizar o sistema deve ser feita uma pergunta se outro aluno 8 | vai utilizar o sistema. 9 | 10 | Após todos os alunos terem respondido informar: 11 | Maior e Menor Acerto; 12 | Total de Alunos que utilizaram o sistema; 13 | A Média das Notas da Turma. 14 | Gabarito da Prova: 15 | 01 - A 16 | 02 - B 17 | 03 - C 18 | 04 - D 19 | 05 - E 20 | 06 - E 21 | 07 - D 22 | 08 - C 23 | 09 - B 24 | 10 - A 25 | 26 | Após concluir isto você poderia incrementar o programa permitindo que o 27 | professor digite o gabarito da prova antes dos alunos usarem o programa. 28 | """ 29 | # * Imports 30 | # ? Possibilita saber se o PC roda windows ou linux 31 | from sys import platform 32 | 33 | # ? A função system possibilita exercutar comandos no terminal 34 | from os import system 35 | 36 | # * Variáveis globais 37 | aluno_com_maior_acerto = "" 38 | aluno_com_menor_acerto = "" 39 | maior_acerto = 0 40 | media_da_turma = 0 41 | numero_de_alunos = 0 42 | # ? O gabarito e os alunos vão ser dicionários Python 43 | # ? Dicionários guardam conteúdos no formato "chave": valor 44 | gabarito = {} 45 | alunos = {} 46 | 47 | numero_de_questoes = int(input("Digite o número de questões: ")) 48 | menor_acerto = numero_de_questoes 49 | 50 | # * Programa 51 | # ? i vai de 1 até o número de questões 52 | for i in range(1, numero_de_questoes + 1): 53 | # ? O .upper() garante que a resposta vai ser sempre uma letra maiuscula 54 | resposta_atual = input( 55 | f"Digite a resposta correta da questão '{i}': " 56 | ).upper() 57 | # ? Guarda a resposta correta no gabarito 58 | # ? Por exemplo, se i = 2 e resposta_atual = "A", e a resposta da questao 1 59 | # ? (que foi preenchida na rodada anterior do laço for) for "C" 60 | # ? então: gabarito = {"questao_1": "C", "questao_2": "A"} 61 | gabarito["questao_" + str(i)] = resposta_atual 62 | 63 | if platform == "win32": 64 | limpar = "cls" 65 | else: 66 | limpar = "clear" 67 | 68 | while True: 69 | # ? Limpa a tela para os alunos não verem o gabarito, nem a resposta 70 | # ? dos colegas 71 | system(limpar) 72 | 73 | aluno = input("Digite o nome do aluno (ou 0 para sair): ") 74 | if aluno == "0": 75 | system(limpar) 76 | break 77 | 78 | numero_de_alunos += 1 79 | 80 | # ? Cria o dicionario de respostas e nota do aluno 81 | alunos[aluno] = {"acertos": 0} 82 | 83 | for i in range(1, numero_de_questoes + 1): 84 | resposta_atual = input( 85 | f"Digite a resposta que o aluno {aluno} deu para a questão {i}: " 86 | ).upper() 87 | # ? Guarda a resposta do aluno no dicionário de respostas dele 88 | alunos[aluno]["questao_" + str(i)] = resposta_atual 89 | 90 | # ? Vamos percorrer cada aluno e suas respostas 91 | for aluno, respostas in alunos.items(): 92 | # ? E percorrer cada uma de suas respostas 93 | for questao, resposta in respostas.items(): 94 | if questao == "acertos": 95 | continue 96 | # ? Se a resposta for igual ao gabarito 97 | if resposta == gabarito[questao]: 98 | alunos[aluno]["acertos"] += 1 99 | 100 | acertos = alunos[aluno]["acertos"] 101 | nota = 10 * acertos / numero_de_questoes 102 | print( 103 | f"O aluno {aluno} obteve {acertos} acertos dentre {numero_de_questoes}" 104 | f" questões e ficou com a nota {nota:.2f}" 105 | ) 106 | 107 | if acertos > maior_acerto: 108 | maior_acerto = acertos 109 | aluno_com_maior_acerto = aluno 110 | if acertos < menor_acerto: 111 | menor_acerto = acertos 112 | aluno_com_menor_acerto = aluno 113 | 114 | media_da_turma += nota 115 | 116 | media_da_turma /= numero_de_alunos 117 | print( 118 | f"O aluno com o mais acertos é {aluno_com_maior_acerto}, " 119 | f"com {maior_acerto} acertos" 120 | f"\nO aluno com o menos acertos é {aluno_com_menor_acerto}, " 121 | f"com {menor_acerto} acertos" 122 | f"\nA média da turma é {media_da_turma:.2f}" 123 | ) 124 | -------------------------------------------------------------------------------- /exercicios/087.py: -------------------------------------------------------------------------------- 1 | """ 2 | Em uma competição de salto em distância cada atleta tem direito a cinco saltos. 3 | No final da série de saltos de cada atleta, o melhor e o pior resultados são 4 | eliminados. 5 | 6 | O seu resultado fica sendo a média dos três valores restantes. 7 | Você deve fazer um programa que receba o nome e as cinco distâncias alcançadas 8 | pelo atleta em seus saltos e depois informe a média dos saltos conforme a 9 | descrição acima informada (retirar o melhor e o pior salto e depois 10 | calcular a média). 11 | 12 | Faça uso de uma lista para armazenar os saltos. 13 | Os saltos são informados na ordem da execução, portanto não são ordenados. 14 | O programa deve ser encerrado quando não for informado o nome do atleta. 15 | A saída do programa deve ser conforme o exemplo abaixo: 16 | Atleta: Rodrigo Curvêllo 17 | 18 | Primeiro Salto: 6.5 m 19 | Segundo Salto: 6.1 m 20 | Terceiro Salto: 6.2 m 21 | Quarto Salto: 5.4 m 22 | Quinto Salto: 5.3 m 23 | 24 | Melhor salto: 6.5 m 25 | Pior salto: 5.3 m 26 | Média dos demais saltos: 5.9 m 27 | 28 | Resultado final: 29 | Rodrigo Curvêllo: 5.9 m 30 | """ 31 | atletas = [] 32 | while True: 33 | nome = input( 34 | "Digite o nome do atleta (ou enter para encerrar o programa): " 35 | ) 36 | if nome == "": 37 | break 38 | atleta = { 39 | "nome": nome, 40 | "saltos": [], 41 | "media": 0, 42 | "melhor_salto": 0, 43 | "pior_salto": 0, 44 | } 45 | for i in range(5): 46 | atleta.get("saltos").append( 47 | float(input(f"Distância do {i+1}º salto: ")) 48 | ) 49 | atleta.get("saltos").sort() # ? Ordena a lista 50 | atleta["pior_salto"] = atleta.get("saltos").pop(0) 51 | atleta["melhor_salto"] = atleta.get("saltos").pop() 52 | atleta["media"] = sum(atleta.get("saltos")) / 3 53 | print( 54 | f"\nMelhor salto: {atleta.get('melhor_salto'):.1f} m" 55 | f"\nPior salto: {atleta.get('pior_salto'):.1f} m" 56 | f"\nMédia dos demais saltos: {atleta.get('media'):.1f} m\n" 57 | ) 58 | atletas.append(atleta) 59 | 60 | print("\n\nResultado final") 61 | for atleta in atletas: 62 | print(f"{atleta.get('nome')}: {atleta.get('media'):.1f} m") 63 | -------------------------------------------------------------------------------- /exercicios/088.py: -------------------------------------------------------------------------------- 1 | """ 2 | Em uma competição de ginástica, cada atleta recebe votos de sete jurados. 3 | A melhor e a pior nota são eliminadas. 4 | A sua nota fica sendo a média dos votos restantes. 5 | 6 | Você deve fazer um programa que receba o nome do ginasta e as notas dos sete 7 | jurados alcançadas pelo atleta em sua apresentação e depois informe a sua 8 | média, conforme a descrição acima informada (retirar o melhor e o pior salto e 9 | depois calcular a média com as notas restantes). 10 | 11 | As notas não são informados ordenadas. 12 | Um exemplo de saída do programa deve ser conforme o exemplo abaixo: 13 | Atleta: Aparecido Parente 14 | Nota: 9.9 15 | Nota: 7.5 16 | Nota: 9.5 17 | Nota: 8.5 18 | Nota: 9.0 19 | Nota: 8.5 20 | Nota: 9.7 21 | 22 | Resultado final: 23 | Atleta: Aparecido Parente 24 | Melhor nota: 9.9 25 | Pior nota: 7.5 26 | Média: 9,04 27 | """ 28 | NOTAS = 7 29 | atletas = [] 30 | while True: 31 | nome = input("\nDigite o nome do atleta ou 0 para sair: ") 32 | if nome == "0": 33 | break 34 | atleta = { 35 | "nome": nome, 36 | "notas": [], 37 | "media": 0, 38 | "melhor_nota": 0, 39 | "pior_nota": 0, 40 | } 41 | for i in range(NOTAS): 42 | atleta.get("notas").append(float(input("Nota: "))) 43 | atleta.get("notas").sort() 44 | atleta["melhor_nota"] = atleta.get("notas").pop() 45 | atleta["pior_nota"] = atleta.get("notas").pop(0) 46 | media = sum(atleta.get("notas")) 47 | media /= NOTAS - 2 48 | atleta["media"] = media 49 | atletas.append(atleta) 50 | 51 | print("\nResultado final:") 52 | for atleta in atletas: 53 | print(f"Atleta: {atleta.get('nome')}") 54 | print(f"Melhor nota: {atleta.get('melhor_nota')}") 55 | print(f"Pior nota: {atleta.get('pior_nota')}") 56 | print(f"Média: {atleta.get('media'):.2f}") 57 | -------------------------------------------------------------------------------- /exercicios/089.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um programa que peça um numero inteiro positivo e em seguida mostre este 3 | numero invertido. 4 | Exemplo: 5 | 12376489 6 | => 98467321 7 | """ 8 | numero = input("Digite um inteiro positivo: ") 9 | numero = numero[::-1] 10 | print(f"=> {numero}") 11 | -------------------------------------------------------------------------------- /exercicios/090.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um programa que mostre os n termos da Série a seguir: 3 | S = 1/1 + 2/3 + 3/5 + 4/7 + 5/9 + ... + n/m. 4 | Imprima no final a soma da série. 5 | """ 6 | soma = 0 7 | n = int(input("Digite n: ")) 8 | m = 1 9 | print("S = ", end="") 10 | for i in range(1, n + 1): 11 | print(f"{i}/{m}", end="") 12 | if i < n and n > 1: 13 | print(" + ", end="") 14 | else: 15 | print(".") 16 | soma += i / m 17 | m += 2 18 | print(f"A soma da série deu {soma:.2f}") 19 | -------------------------------------------------------------------------------- /exercicios/091.py: -------------------------------------------------------------------------------- 1 | """ 2 | Sendo H= 1 + 1/2 + 1/3 + 1/4 + ... + 1/N, 3 | Faça um programa que calcule o valor de H com N termos. 4 | """ 5 | h = 0 6 | for i in range(1, int(input("Digite o numero de termos: ")) + 1): 7 | h += 1 / i 8 | 9 | print(f"H = {h}") 10 | -------------------------------------------------------------------------------- /exercicios/092.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um Programa que leia um vetor de 5 números inteiros e mostre-os. 3 | """ 4 | lista = [] 5 | for i in range(5): 6 | lista.append(int(input(f"Digite o {i+1}º numero: "))) 7 | 8 | print("Os numeros digitados são:", end="") 9 | for numero in lista: 10 | print(f" {numero}", end="") 11 | -------------------------------------------------------------------------------- /exercicios/093.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um Programa que leia um vetor de 10 números reais e mostre-os na ordem 3 | inversa. 4 | """ 5 | numeros = [] 6 | for i in range(10): 7 | numeros.append(float(input(f"Digite o {i+1}º numero real: "))) 8 | print("Os numeros inversos são: ", end="") 9 | for numero in numeros[::-1]: 10 | print(f" {numero}", end="") 11 | -------------------------------------------------------------------------------- /exercicios/094.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um Programa que leia 4 notas, mostre as notas e a média na tela. 3 | """ 4 | notas = [] 5 | for i in range(4): 6 | notas.append(float(input(f"Digite a {i+1}ª nota: "))) 7 | 8 | print("Notas digitadas: ") 9 | for nota in notas: 10 | print(nota) 11 | print(f"A média das notas é {sum(notas)/4:.2f}.") 12 | -------------------------------------------------------------------------------- /exercicios/095.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um Programa que leia um vetor de 10 caracteres, e diga quantas consoantes 3 | foram lidas. Imprima as consoantes. 4 | """ 5 | caracteres = [] 6 | consoantes = 0 7 | for i in range(10): 8 | caracteres.append(input("Digite um caractere: ")[0]) 9 | 10 | for c in caracteres: 11 | c = c.upper() 12 | if c != "A" and c != "E" and c != "I" and c != "O" and c != "U": 13 | consoantes += 1 14 | 15 | print(f"Foram lidas {consoantes} consoantes.") 16 | -------------------------------------------------------------------------------- /exercicios/096.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um Programa que leia 20 números inteiros e armazene-os num vetor. 3 | Armazene os números pares no vetor PAR e os números IMPARES no vetor impar. 4 | Imprima os três vetores. 5 | """ 6 | NUMEROS = 20 7 | inteiros = [] 8 | pares = [] 9 | impares = [] 10 | 11 | for i in range(NUMEROS): 12 | numero = int(input("Digite um inteiro: ")) 13 | inteiros.append(numero) 14 | if numero % 2 == 0: 15 | pares.append(numero) 16 | else: 17 | impares.append(numero) 18 | 19 | 20 | print("\nInteiros") 21 | for numero in inteiros: 22 | print(f"{numero}", end=" ") 23 | 24 | print("\nPares") 25 | for numero in pares: 26 | print(f"{numero}", end=" ") 27 | 28 | print("\nImpares") 29 | for numero in impares: 30 | print(f"{numero}", end=" ") 31 | -------------------------------------------------------------------------------- /exercicios/097.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um Programa que peça as quatro notas de 10 alunos, calcule e armazene num 3 | vetor a média de cada aluno, imprima o número de alunos com média maior ou 4 | igual a 7.0. 5 | """ 6 | ALUNOS = 10 7 | NOTAS = 4 8 | 9 | medias = [] 10 | media_sete = 0 11 | 12 | for i in range(ALUNOS): 13 | media = 0 14 | for j in range(NOTAS): 15 | media += float(input(f"Digite a nota {j+1} do aluno {i+1}: ")) 16 | media /= NOTAS 17 | medias.append(media) 18 | if media >= 7: 19 | media_sete += 1 20 | 21 | print("\nA média dos alunos foi:") 22 | for i in range(ALUNOS): 23 | print(f"Aluno {i+1}: {medias[i]}") 24 | 25 | print(f"\n{media_sete} alunos tiveram média maior ou igual a 7.") 26 | -------------------------------------------------------------------------------- /exercicios/098.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um Programa que leia um vetor de 5 números inteiros, mostre a soma, a 3 | multiplicação e os números. 4 | """ 5 | inteiros = [] 6 | soma = 0 7 | multiplicacao = 1 8 | for i in range(5): 9 | numero = int(input(f"Digite o {i+1}º inteiro: ")) 10 | soma += numero 11 | multiplicacao *= numero 12 | inteiros.append(numero) 13 | 14 | print("\nNúmeros digitados:") 15 | 16 | for numero in inteiros: 17 | print(f"{numero}", end=" ") 18 | 19 | print(f"\nA soma dos números é {soma}") 20 | print(f"A multiplicação dos números é {multiplicacao}") 21 | -------------------------------------------------------------------------------- /exercicios/099.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um Programa que peça a idade e a altura de 5 pessoas, armazene cada 3 | informação no seu respectivo vetor. Imprima a idade e a altura na ordem 4 | inversa a ordem lida. 5 | """ 6 | PESSOAS = 5 7 | idades = [] 8 | alturas = [] 9 | for i in range(PESSOAS): 10 | idades.append(int(input(f"Digite a idade da pessoa {i+1}: "))) 11 | alturas.append(float(input(f"Digite a altura da pessoa {i+1} em cm: "))) 12 | 13 | # ? i começa em 4 e vai até 0 de forma decrescende 14 | for i in range(PESSOAS - 1, -1, -1): 15 | print(f"A pessoa {i+1} mede {alturas[i]:.2f}cm e tem {idades[i]} ano(s)") 16 | -------------------------------------------------------------------------------- /exercicios/100.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um Programa que leia um vetor A com 10 números inteiros, calcule e mostre 3 | a soma dos quadrados dos elementos do vetor. 4 | """ 5 | soma_dos_quadrados = 0 6 | for i in range(10): 7 | soma_dos_quadrados += int(input(f"Digite o {i+1}º numero inteiro: ")) ** 2 8 | print(f"A soma dos quadrados dos numeros digitados é {soma_dos_quadrados}") 9 | -------------------------------------------------------------------------------- /exercicios/101.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um Programa que leia dois vetores com 10 elementos cada. 3 | Gere um terceiro vetor de 20 elementos, cujos valores deverão ser compostos 4 | pelos elementos intercalados dos dois outros vetores. 5 | """ 6 | ELEMENTOS = 10 7 | vetor1 = [] 8 | vetor2 = [] 9 | vetor3 = [] 10 | for i in range(ELEMENTOS): 11 | vetor1.append( 12 | int(input(f"Entre com o {i+1}º número inteiro para o vetor 1: ")) 13 | ) 14 | for i in range(ELEMENTOS): 15 | vetor2.append( 16 | int(input(f"Entre com o {i+1}º número inteiro para o vetor 2: ")) 17 | ) 18 | for i in range(ELEMENTOS): 19 | vetor3.append(vetor1[i]) 20 | vetor3.append(vetor2[i]) 21 | print("O vetor com os elementos intercalados dos vetores 1 e 2 é: ") 22 | for i in range(ELEMENTOS * 2): 23 | print(vetor3[i], end=" ") 24 | -------------------------------------------------------------------------------- /exercicios/102.py: -------------------------------------------------------------------------------- 1 | """ 2 | Altere o programa anterior, intercalando 3 vetores de 10 elementos cada. 3 | """ 4 | ELEMENTOS = 10 5 | vetor1 = [] 6 | vetor2 = [] 7 | vetor3 = [] 8 | vetor4 = [] 9 | for i in range(ELEMENTOS): 10 | vetor1.append( 11 | int(input(f"Entre com o {i+1}º número inteiro para o vetor 1: ")) 12 | ) 13 | for i in range(ELEMENTOS): 14 | vetor2.append( 15 | int(input(f"Entre com o {i+1}º número inteiro para o vetor 2: ")) 16 | ) 17 | for i in range(ELEMENTOS): 18 | vetor3.append( 19 | int(input(f"Entre com o {i+1}º número inteiro para o vetor 3: ")) 20 | ) 21 | for i in range(ELEMENTOS): 22 | vetor4.append(vetor1[i]) 23 | vetor4.append(vetor2[i]) 24 | vetor4.append(vetor3[i]) 25 | print("O vetor com os elementos intercalados dos vetores 1, 2 e 3 é: ") 26 | for i in range(ELEMENTOS * 3): 27 | print(vetor4[i], end=" ") 28 | -------------------------------------------------------------------------------- /exercicios/103.py: -------------------------------------------------------------------------------- 1 | """ 2 | Foram anotadas as idades e alturas de 30 alunos. 3 | Faça um Programa que determine quantos alunos com mais de 13 anos possuem 4 | altura inferior à média de altura desses alunos. 5 | """ 6 | ALUNOS = 30 7 | idades = [] 8 | alturas = [] 9 | media_de_altura = 0 10 | abaixo_da_media = 0 11 | 12 | for i in range(ALUNOS): 13 | idades.append(int(input(f"Digite a idade do aluno {i+1}: "))) 14 | altura = int(input(f"Digite a altura em cm do aluno {i+1}: ")) 15 | alturas.append(altura) 16 | media_de_altura += altura 17 | 18 | media_de_altura /= ALUNOS 19 | 20 | for i in range(ALUNOS): 21 | if idades[i] > 13: 22 | if alturas[i] < media_de_altura: 23 | abaixo_da_media += 1 24 | 25 | print( 26 | f"{abaixo_da_media} alunos com mais de 13 anos têm altura abaixo da média" 27 | ) 28 | -------------------------------------------------------------------------------- /exercicios/104.py: -------------------------------------------------------------------------------- 1 | """ 2 | Faça um programa que receba a temperatura média de cada mês do ano e 3 | armazene-as em uma lista. 4 | Após isto, calcule a média anual das temperaturas e mostre todas as 5 | temperaturas acima da média anual, e em que mês elas ocorreram 6 | (mostrar o mês por extenso: 1 – Janeiro, 2 – Fevereiro, . . . ). 7 | """ 8 | meses = [ 9 | "janeiro", 10 | "fevereiro", 11 | "março", 12 | "abril", 13 | "maio", 14 | "junho", 15 | "julho", 16 | "agosto", 17 | "setembro", 18 | "outubro", 19 | "novembro", 20 | "dezembro", 21 | ] 22 | temperaturas = [] 23 | for i in range(12): 24 | temperaturas.append( 25 | float(input(f"Digite a temperatura de {meses[i]} em ºC: ")) 26 | ) 27 | 28 | media = sum(temperaturas) / 12 29 | print(f"\nA média das temperaturas foi {media:.2f}ºC") 30 | print("Meses com temperaturas acima da média: ") 31 | for i in range(12): 32 | if temperaturas[i] > media: 33 | print(f"{i+1} - {meses[i].capitalize()} com {temperaturas[i]:.2f}ºC") 34 | --------------------------------------------------------------------------------