Prévia do material em texto
Curso Python #012 - Condições Aninhadas Estruturas condicionais aninhadas, usando os comandos if.. elif.. else em programas Python. If carro.esquerda(): Elif carro.direita(): Else: Dentro de um ‘if’ Pode ter quantos ‘elif’ quiser o ‘else’ só pode utilizar ou nenhuma ou apenas uma vez. Nunca pode usar ‘elif’ sem ‘if’. Estrutura Condicional Simples nome = str(input('Qual é o seu nome? ')) if nome == 'Silvana': print('Linnda, você consegue!!!') print('Tenha um Bom Dia, {}!'.format(nome)) Estrutura Condicional Composta nome = str(input('Qual é o seu nome? ')) if nome == 'Silvana': print('Linda, você consegue!!!') else: print('Seu nome é bem normal.') print('Tenha um Bom Dia, {}!'.format(nome)) Estrutura Condicional Aninhada nome = str(input('Qual é o seu nome? ')) if nome == 'Silvana': print('Linda, você consegue!!!') else: print('Seu nome é bem normal.') print('Tenha um Bom Dia, {}!'.format(nome)) Estrutura Condiconal Aninhada nome = str(input('Qual é o seu nome? ')) if nome == 'Silvana': print('Linda, você consegue!!!') elif nome == 'Pedro' or nome == 'Maria' or nome == 'Paulo': print('Seu nome é bem popular no Brasil') elif nome in 'Ana Jéssica Claúdia Juliana': print('Belo nome feminino') else: print('Seu nome é bem normal.') print('Tenha um Bom Dia, {}!'.format(nome)) O ‘ELSE’ É OPCIONAL, O CÓDIGO FUNCIONA COM OU SEM ELE Exercício Python 36: Escreva um programa para aprovar o empréstimo bancário para a compra de uma casa. Pergunte o valor da casa, o salário do comprador e em quantos anos ele vai pagar. A prestação mensal não pode exceder 30% do salário ou então o empréstimo será negado. casa = float(input('Valor da casa: R$ ')) salário = float(input('Sálario do comprador: R$')) anos = int(input('quantos anos de financiamento: ')) prestação = casa / (anos * 12) mínimo = salário * 30 / 100 print('Para pagar uma casa de R${:.2f} em {} anos'.format(casa, anos), end='') print(' a prestação será de R${:.2f}'.format(prestação)) if prestação <= mínimo: print('Empréstimo pode ser CONCEDIDO!') else: print('Empréstimo NEGADO!') Exercício Python 37: Escreva um programa em Python que leia um número inteiro qualquer e peça para o usuário escolher qual será a base de conversão: 1 para binário, 2 para octal e 3 para hexadecimal. num = int(input('Digite um número inteiro: ')) print('''escolha uma das bases para conversão: [1] Converter para BINÁRIO [2] Converter para OCTAL [3] Converter para HEXADECIMAL''') opção = int(input('Sua opção: ')) if opção == 1: print('{} convertido para BINÁRIO é igual {}'.format(num, bin(num)[2:])) elif opção == 2: print('{} convertido em OCTAL é igual {}'.format(num, oct(num)[2:])) elif opção == 3: print('{} convertido para HEXADECIMAL é igual {}'.format(num, hex(num)[2:])) else: print('Opção inválida. Tente Novamente.') Exercício Python 038: Escreva um programa que leia dois números inteiros e compare-os. mostrando na tela uma mensagem: – O primeiro valor é maior – O segundo valor é maior – Não existe valor maior, os dois são iguais n1: int = int(input('Primeiro número: ')) n2 = int(input('Segundo número: ')) if n1 > n2: print('O primeiro número é maior') elif n1 == n2: print('Os números são iguais') else: print('O segundo número é maior') Exercício Python 39: Faça um programa que leia o ano de nascimento de um jovem e informe, de acordo com a sua idade, se ele ainda vai se alistar ao serviço militar, se é a hora exata de se alistar ou se já passou do tempo do alistamento. Seu programa também deverá mostrar o tempo que falta ou que passou do prazo. from datetime import date atual = date.today().year nasc = int(input('Qual foi o ano de nascimento? ')) idade = atual - nasc print('Quem nasceu em {} tem {} anos no ano de {}'.format(nasc, idade, atual)) if idade == 18: print('Você tem que se alistar IMEDIATAMENTE.') elif idade < 18: saldo = 18 - idade print('Ainda faltam {} anos para o seu alistamento.'.format(saldo)) ano = atual + saldo print('Voce devera se alistar em {}'.format(ano)) elif idade > 18: saldo = idade - 18 print('Você deveria ter se alistado há {} anos'.format(saldo)) ano = atual - saldo print('Voce deveria ter se alistado em {}'.format(ano)) Exercício Python 040: Crie um programa que leia duas notas de um aluno e calcule sua média, mostrando uma mensagem no final, de acordo com a média atingida: – Média abaixo de 5.0: REPROVADO – Média entre 5.0 e 6.9: RECUPERAÇÃO – Média 7.0 ou superior: APROVADO nota1 = float(input('nota 1: ')) nota2 = float(input('Nota 2: ')) média = (nota1 + nota2) / 2 print('Tirando {:.1f} e {:.1f}, a média do aluno é {:.1f}'.format(nota1, nota2, média)) if média < 5: print('Aluno REPROVADO') elif média >= 5 and média < 7: print('Aluno em RECUPERAÇÃO.') elif média >= 7.0: print('Aluno APROVADO!') Exercício Python 041: A Confederação Nacional de Natação precisa de um programa que leia o ano de nascimento de um atleta e mostre sua categoria, de acordo com a idade: – Até 9 anos: MIRIM – Até 14 anos: INFANTIL – Até 19 anos: JÚNIOR – Até 25 anos: SÊNIOR – Acima de 25 anos: MASTER from datetime import date nasc = int(input('Qual o seu ano de nascimento: ')) ano = date.today().year idade = ano - nasc print('Sua idade é: {}'.format(idade)) if idade <= 9: print('Classificação: MIRIM') elif idade >= 9 and idade <= 14: print('Classificação: INFANTIL') elif idade >= 15 and idade <=19: print('Classificação: JÚNIOR') elif idade >=20 and idade <= 25: print('Classificação: SÊNIOR') elif idade >= 26: print('Classificação: MASTER') Exercício Python 42: Refaça o DESAFIO 35 dos triângulos, acrescentando o recurso de mostrar que tipo de triângulo será formado: – EQUILÁTERO: todos os lados iguais – ISÓSCELES: dois lados iguais, um diferente – ESCALENO: todos os lados diferentes r1 = float(input('Primeiro seguimento: ')) r2 = float(input('Segundo seguimento: ')) r3 = float(input('Terceiro seguimento: ')) if r1 < r2 + r3 and r2 < r1 + r3 and r3 < r1 + r2: print('Os seguimentos acima PODEM formar um triângulo: ', end='') if r1 == r2 == r3: print('EQUILÁTERO') elif r1 != r2 != r3 != r1: print('ESCALENO') else: print('ISÓSCELES') else: print('Os seguimentos acima NÃO PODEM FORMAR um triângulo!') Exercício Python 43: Desenvolva uma lógica que leia o peso e a altura de uma pessoa, calcule seu Índice de Massa Corporal (IMC) e mostre seu status, de acordo com a tabela abaixo: – IMC abaixo de 18,5: Abaixo do Peso – Entre 18,5 e 25: Peso Ideal – 25 até 30: Sobrepeso – 30 até 40: Obesidade – Acima de 40: Obesidade Mórbida peso = float(input('Qual é o seu peso? kl')) altura = float(input('Qual é a sua altura? m')) imc = peso / (altura ** 2) print('Seu imc é {:.2f}'. format(imc)) if imc <= 18.5: print('ABAIXO DO PESO') elif imc <= 25: print('PESO IDEAL') elif imc <= 30: print('SOBRE PESO') elif imc <= 40: print('OBESIDADE') elif imc > 40: print('OBESIDADE MORBIDA') Exercício Python 44: Elabore um programa que calcule o valor a ser pago por um produto, considerando o seu preço normal e condição de pagamento: – à vista dinheiro/cheque: 10% de desconto – à vista no cartão: 5% de desconto – em até 2x no cartão: preço formal – 3x ou mais no cartão: 20% de juros print('{:=^40}'.format(' LOJA ')) preço = float(input('Preço das compras: R$ ')) print('''FORMAS DE PAGAMENTO [1] A vista dinheiro/pix. [2] A vista no cartão. [3] 2x no cartão sem juros. [4] 3x ou mais no cartão com juros.''') opção = int(input('Qual é a opção? ')) if opção == 1: total = preço - (preço * 10/100) elif opção == 2: total = preço - (preço * 5/100) elif opção == 3: total = preço parcela = total / 2 print('Sua compra será parcelada em 2x de R${:.2f} sem juros'.format(parcela)) elif opção == 4: total = preço + (preço * 20/100) totparc = int(input('Quantas parcelas? ')) parcela = total / totparc print('Sua compra será parcelada em {}x e custará R${:.2f} cadaparcela'.format(totparc,parcela)) else: total = 0 print('Opção invalida, tente novamente.') print('Sua compra de R${:.2f} vai custar R${:.2f}.'.format(preço, total)) Exercício Python 45: Crie um programa que faça o computador jogar Jokenpô com você. from random import randint itens = ('pedra', 'papel', 'tesoura') computador = randint(0, 2) print('''[1] Pedra [2] Papel [3] Tesoura''') print('O computador escolheu {}'.format(computador)) O Código acima me mostra quais as opções o computador esta escolhendo, porém eu quero que mostre os nomes pedra, papel, tesoura e para isso usamos os itens que estão dentro de parênteses dai escrevemos o print da seguite maneira: print('O computador escolheu {}'.format(itens[computador])) onde o computador vai randomizar os itens e não os números from random import randint itens = ('pedra', 'papel', 'tesoura') computador = randint(0, 2) print('''[0] Pedra [1] Papel [2] Tesoura''') jogador = int(input('Qual a sua jogada? ')) print('O computador escolheu {}'.format(itens[computador])) print('Você escolheu {}'.format(itens[jogador])) o código acima me mostra o que cada um dor participantes escolheram no jogo, porém agora eu preciso que Digue quem ganhou e quem perdeu, então precisamos adicionar os seguintes códigos de uma estrutura condicional from random import randint from time import sleep itens = ('pedra', 'papel', 'tesoura') computador = randint(0, 2) print('''[0] Pedra [1] Papel [2] Tesoura''') jogador = int(input('Qual a sua jogada? ')) print('JO') sleep(1) print('KEN') sleep(1) print('POOO!!!') sleep(1) print('~*' * 20) print('O computador escolheu \033[34m{}\033[m'.format(itens[computador])) print('Você escolheu \033[35m{}\033[m'.format(itens[jogador])) print('~*' * 20) if computador == 0: #computador jogou pedra if jogador == 1: print('Papel ganha da pedra. Então \033[35mJOGADOR VENCEU\033[m') elif jogador == 2: print('pedra ganha da tesoura. Então \033[34mCOMPUTADOR VENCEU\033[m') elif jogador == 0: print('\033[36mEMPATE\033[m') else: print('\033[37mJOGADA INVÁLLIDA. TENTE NOVAMENTE\033[m') elif computador == 1: #computador jogou papel if jogador == 1: print('\033[36mEMPATE\033[m') elif jogador == 2: print('A tesoura corta o papel. Então \033[35mJOGADOR VENCEU\033[m') elif jogador == 0: print('O papel enrola a pedra. Então \033[34mCOMPUTADOR VENCEU!\033[m') else: print('\033[37mJOGADA INVÁLLIDA. TENTE NOVAMENTE\033[m') elif computador == 2: #computador jogou tesoura if jogador == 0: print('A pedra bate na tesoura. Então \033[35mJOGADOR VENCEU!\033[m') elif jogador == 1: print('A tesoura corta o papel. Então \033[34mCOMPUTADOR VENCEU!\033[m') elif jogador == 2: print('\033[36mEMPATE\033[m') else: print('\033[37mJOGADA INVÁLLIDA. TENTE NOVAMENTE\033[m')