''' Crie um programa para criar uma matriz. ''' from mensagem import cabecalho from mensagem import rodape cabecalho('MATRIZES') num_linha = int(input('Digite o número de linhas: ')) num_coluna = int(input('Digite o número de colunas: ')) matriz = [] for i in range(num_linha): linhas = [] for j in range(num_coluna): valor = input(f'Digite o valor de A{i}{j}: ') linhas.append(valor) matriz.append(linhas) #imprimindo formatado print() for i in range(num_linha): for j in range(num_coluna): print(f'[{matriz[i][j]:^4}]', end='') print() rodape()
''' Faça um programa que leia uma palavra e troque as vogais por "*" (asterísco). Exercício 77 com utilizando o "for". ''' from mensagem import cabecalho from mensagem import rodape cabecalho('TROCA VOGAIS POR ASTERÍSCO') palavra = input('Escreva uma palavra: ').strip().lower() troca = '' for vogal in range(len(palavra)): if palavra[vogal] in 'aeiou': troca += '*' else: troca += palavra[vogal] print(f'A nova palavra é: {troca}') rodape()
#retirando os espaços entre as palavras junto = ''.join(palavras) inverso = '' #laço que vai do tamanho da palavra-1 até a última string de -1 em -1 #começa do tamanho da palavra-1 porque vai até -1 for letra in range(len(junto)-1, -1, -1): #somando cada string detrás pra frente inverso += junto[letra] if inverso == junto: print('É um palíndromo!') print(inverso) else: print('Não é palíndromo') #programa principal cabecalho('palíndromo') #1º laço fazendo o programa rodar até que o usuário decida parar while True: #strip: remove os espaços no começo e no fim #lower: joga a string para minúsculo frase = input('Digite uma frase: ').strip().lower() f_palindromo(frase) print() resposta = ' ' #laço enquanto a resposta não for S ou N while resposta not in 'SN': #upper: joga a string para maiúsculo #[0] captura apenas o primeiro caractere resposta = input('Deseja continuar? [S/N] ').upper().strip()[0] print() if resposta == 'N':
#função que calcula o peso ideal feminino def peso_fem(): p = float(input("Digite seu peso(Kg): ")) peso = (62.1 * h) - 44.7 print(f'O peso ideal fem. é {peso} Kg') if p > peso: print("Você está acima do peso.") elif p == peso: print("Você está dentro do peso ideal.") else: print("Você está abaixo do peso ideal.") #programa principal cabecalho('CÁLCULO DE IMC DE ACORDO COM O SEXO') #1º laço fazendo o programa rodar até que o usuário decida parar while True: h = float(input("Digite sua altura(m): ")) sexo = ' ' #2º laço enquanto a resposta não for F ou M while sexo not in 'FM': #upper: joga a string para maiúsculo #strip: remove os espaços no começo e no fim #[0] captura apenas o primeiro caractere sexo = input("Digite seu sexo: [F/M] ").upper().strip()[0] if sexo == "M": peso_masc() else: peso_fem() print()
''' Faça um programa que tenha uma função chamada ficha() que receba dois parâmetros opcionais: o nome do jogador e quantos gols ele marcou. O programa deverá ser capaz de mostrar a ficha do jogador mesmo que algum dado não tenha sido informado corretamente. ''' from mensagem import cabecalho from mensagem import rodape cabecalho('Ficha do jogador') def ficha(j='<desconhecido>',g=0): print(f'O jogador {j} fez {g} gol(s) no campeonato.') nome = input('Nome do jogador: ') gol = input('Números de gols: ') if gol.isnumeric(): gol = int(gol) else: gol = 0 if nome.strip() == '': ficha(g=gol) else: ficha(nome, gol) rodape()
#importando parte do código from mensagem import cabecalho from mensagem import rodape #função que calcula o fatorial de um número dado def fat(n): f = 1 while n > 0: f *= n n -= 1 return f #programa principal cabecalho('FATORIAL!') #1º laço fazendo o programa rodar até que o usuário decida parar while True: n = int(input("Digite um número: ")) print(f'O fatorial é {fat(n)}.') print() resposta = ' ' #laço enquanto a resposta não for S ou N while resposta not in 'SN': #upper: joga a string para maiúsculo #strip: remove os espaços no começo e no fim #[0] captura apenas o primeiro caractere resposta = input('Deseja continuar? [S/N] ').upper().strip()[0] print() if resposta == 'N': #quebrando o 1º laço
#importando parte do código from mensagem import cabecalho from mensagem import rodape #função que calcula o aumento do salário def f_salario(salario): if salario <= 1250: novo = salario + (salario * 0.15) print('Aumento de 15%') else: novo = salario + (salario * 0.10) print('Aumento de 10%') print(f'O salário novo é R${novo:.2f}') #programa principal cabecalho('AUMENTO SALARIAL 10 OU 15%') #1º laço fazendo o programa rodar até que o usuário decida parar while True: salario = float(input('Salário atual do funcionário: R$')) f_salario(salario) print() resposta = ' ' #2º laço enquanto a resposta não for S ou N while resposta not in 'SN': #upper: joga a string para maiúsculo #strip: remove os espaços no começo e no fim #[0] captura apenas o primeiro caractere resposta = input('Deseja continuar? [S/N] ').upper().strip()[0] print() if resposta == 'N': #quebrando o 1º laço
#função que retorna um número aleatório entre 0 e 1 def num_aleatorio1(): num = random.random() return num #função que retorna um número aleatório entre 1 e 10 def num_aleatorio2(): num = random.randint(1, 10) return num #programa principal cabecalho('NÚMEROS ALEATÓRIOS') #1º laço fazendo o programa rodar até que o usuário decida parar while True: num1 = num_aleatorio1() num2 = num_aleatorio2() print(f'Primeiro número aleatório entre 0 e 1: {num1}') print(f'Segundo número aleatório entre 1 e 10: {num2}') print() resposta = ' ' #2º laço enquanto a resposta não for S ou N while resposta not in 'SN': #upper: joga a string para maiúsculo #strip: remove os espaços no começo e no fim #[0] captura apenas o primeiro caractere resposta = input('Deseja continuar? [S/N] ').upper().strip()[0] print()
''' Crie um caixa eletrônico. Pergunte ao usuário qual valor a ser sacado (número inteiro) e o programa vai informar quantas cédulas de cada valor serão entregues. O caixa possui cédulas de 50, 20, 10 e 1. ''' #importando parte do código from mensagem import cabecalho from mensagem import rodape #programa principal cabecalho('CAIXA ELETRÔNICO') #1º laço fazendo o programa rodar até que o usuário decida parar while True: valor = int(input('Valor inteiro a ser sacado: R$')) if valor >= 50: notas = valor // 50 valor = valor % 50 print(f'{notas} notas de R$50') if valor >= 20: notas = valor // 20 valor = valor % 20 print(f'{notas} notas de R$20') if valor >= 10: notas = valor // 10 valor = valor % 10 print(f'{notas} notas de R$10') if valor >= 1: notas = valor // 1 valor = valor % 1 print(f'{notas} notas de R$1') print()
#!/usr/bin/env python3.7 ''' Leia um número real qualquer e retorne apenas a parte inteira, sem arredondamento. ''' #importando parte do código from mensagem import cabecalho from mensagem import rodape from math import trunc #programa principal cabecalho('PARTE INTEIRA DE UM NÚMERO REAL') #1º laço fazendo o programa rodar até que o usuário decida parar while True: num = float(input('Digite um número real: ')) print(f'A parte inteira do valor digitado foi {trunc(num)}.') print() resposta = ' ' #2º laço enquanto a resposta não for S ou N while resposta not in 'SN': #upper: joga a string para maiúsculo #strip: remove os espaços no começo e no fim #[0] captura apenas o primeiro caractere resposta = input('Deseja continuar? [S/N] ').upper().strip()[0] print() if resposta == 'N': #quebrando o 1º laço break rodape()
#2º laço: 'mais' é o número de termos a serem mostrados while mais != 0: #calculando total de termos total += mais #3º laço: contador não pode superar o total de termos while cont <= total: print(f'{An} - ', end='') An += r cont += 1 print('PAUSA') #atualizando o número de termos mais = int(input('Quantos termos você quer mostrar a mais? ')) print(f'Foram mostrados {total} termos.') #programa principal cabecalho('TERMOS DE UMA P.A.') print('Para encerrar digite zero') #1º laço fazendo o programa rodar até que o usuário decida parar while True: prog_aritm() print() resposta = ' ' #laço enquanto a resposta não for S ou N while resposta not in 'SN': #upper: joga a string para maiúsculo #strip: remove os espaços no começo e no fim #[0] captura apenas o primeiro caractere resposta = input('Deseja continuar? [S/N] ').upper().strip()[0] print() if resposta == 'N': #quebrando o 1º laço
#!/usr/bin/env python3.7 ''' Leia o valor e desconte 5%. ''' #importando parte do código from mensagem import cabecalho from mensagem import rodape #função que calcula o desconto de 5% def desconto(preco): desconto = preco - (preco*0.05) return desconto #programa principal cabecalho('DESCONTO 5%') #1º laço fazendo o programa rodar até que o usuário decida parar while True: preco = float(input('Digite o preço: R$')) valor_desconto = desconto(preco) #:.2f limita o número de duas casas decimais print(f'O novo preço com desconto de 5% é R${valor_desconto:.2f}') print() resposta = ' ' #2º laço enquanto a resposta não for S ou N while resposta not in 'SN': #upper: joga a string para maiúsculo #strip: remove os espaços no começo e no fim #[0] captura apenas o primeiro caractere resposta = input('Deseja continuar? [S/N] ').upper().strip()[0] print() if resposta == 'N':
#função que escolhe a opção def f_escolha(opcao): if opcao == 1: #[2:] corta as duas primeiras casas print(f'Em binário: {bin(num)[2:]}') elif opcao == 2: print(f'Em octal: {oct(num)[2:]}') elif opcao == 3: print(f'Em hexadecimal: {hex(num)[2:]}') else: print('Opção inválida!') #programa principal cabecalho('BASES BINÁRIA, OCTAL E HEXADECIMAL') #1º laço fazendo o programa rodar até que o usuário decida parar while True: num = int(input('Digite um número inteiro: ')) print('''Escolha a base para conversão: [1] binário [2] octal [3] hexadecimal''') opcao = int(input('Sua opção: ')) f_escolha(opcao) print() resposta = ' ' #2º laço enquanto a resposta não for S ou N while resposta not in 'SN': #upper: joga a string para maiúsculo #strip: remove os espaços no começo e no fim
def dobro(num): dobro = num*2 return dobro #função que calcula o triplo do número informado def triplo(num): triplo = num*3 return triplo #função que calcula a raiz do número informado def raiz(num): raiz = num**(1/2) return raiz #programa principal cabecalho('DOBRO, TRIPLO E RAÍZ QUADRADA') #1º laço fazendo o programa rodar até que o usuário decida parar while True: num = float(input('Digite um número: ')) dobro_info = dobro(num) print(f'O dobro é: {dobro_info}') triplo_info = triplo(num) print(f'O triplo é: {triplo_info}') raiz_info = raiz(num) print(f'A raiz quadrada é: {raiz_info}') print() resposta = ' ' #2º laço enquanto a resposta não for S ou N while resposta not in 'SN': #upper: joga a string para maiúsculo #strip: remove os espaços no começo e no fim
#função que verifica e identifica o triângulo def verifica_triangulo(lado1, lado2, lado3): if lado2 + lado3 > lado1 and lado1 + lado3 > lado2 and lado1 + lado2 > lado3: if lado1 == lado2 and lado2 == lado3: print('Triângulo Equilátero: três lados iguais.') elif lado1 == lado2 or lado1 == lado3 or lado2 == lado3: print('Triângulo Isósceles: quaisquer dois lados iguais.') else: print('Triângulo Escaleno: três lados diferentes.') else: print('Esses valores não formam um triângulo.') #programa principal cabecalho('VERIFICA SE É TRIÂNGULO') #1º laço fazendo o programa rodar até que o usuário decida parar while True: lado1 = float(input("Digite o 1º lado do triângulo: ")) lado2 = float(input("Digite o 2º lado do triângulo: ")) lado3 = float(input("Digite o 3º lado do triângulo: ")) verifica_triangulo(lado1, lado2, lado3) print() resposta = ' ' #2º laço enquanto a resposta não for S ou N while resposta not in 'SN': #upper: joga a string para maiúsculo #strip: remove os espaços no começo e no fim #[0] captura apenas o primeiro caractere resposta = input('Deseja continuar? [S/N] ').upper().strip()[0] print()
''' Leia o sexo do usuário e só aceite os valores F ou M. Caso esteja errado, insista até o valor correto. ''' #importando parte do código from mensagem import cabecalho from mensagem import rodape #programa principal cabecalho('Sexo do usuário') #upper: joga a string para maiúsculo #strip: remove os espaços no começo e no fim #[0] captura apenas o primeiro caractere sexo = input('Digite o sexo do usuário [F/M]: ').strip().upper()[0] #laço que só aceita strings F ou M while sexo not in 'FM': print('Entrada errada. Favor digite novamente.') sexo = input('Digite o sexo do usuário [F/M]: ').strip().upper()[0] print(f'Sexo {sexo} registrado com sucesso.') rodape()
'''Calcula o aumento de salário dado o valor e a porcentagem''' #importando parte do código from mensagem import cabecalho from mensagem import rodape #programa principal cabecalho('AUMENTO DE SALÁRIO') #1º laço fazendo o programa rodar até que o usuário decida parar while True: salario = float(input('Salário: R$ ')) porcentagem = float(input('Porcentagem de aumento: ')) aumento = salario * porcentagem / 100 salario = salario + aumento print(f'O aumento foi de R$ {aumento:.2f}') print(f'O novo salário é R$ {salario:.2f}') print() resposta = ' ' #laço enquanto a resposta não for S ou N while resposta not in 'SN': #upper: joga a string para maiúsculo #strip: remove os espaços no começo e no fim #[0] captura apenas o primeiro caractere resposta = input('Deseja continuar? [S/N] ').upper().strip()[0] print() if resposta == 'N': #quebrando o 1º laço break rodape()
#!/usr/bin/env python3.7 ''' Leia um float e retorne a parte inteira usando arredondamento se necessário. ''' #importando parte do código from mensagem import cabecalho from mensagem import rodape #programa principal cabecalho('PARTE INTEIRA COM ARREDONDAMENTO PARA CIMA') #1º laço fazendo o programa rodar até que o usuário decida parar while True: num = float(input('Digite um número com casa decimal: ')) #python faz o arredondamento automaticamente #:.0f limita o número de casas decimais a zero print(f'A parte inteira do número é {num:.0f}') print() resposta = ' ' #2º laço enquanto a resposta não for S ou N while resposta not in 'SN': #upper: joga a string para maiúsculo #strip: remove os espaços no começo e no fim #[0] captura apenas o primeiro caractere resposta = input('Deseja continuar? [S/N] ').upper().strip()[0] print() if resposta == 'N': #quebrando o 1º laço break rodape()
''' Crie cinco números aleatórios e armazenar numa tupla. Mostrar os números gerados e indicar o menor e o maior deles. ''' #importando parte do código from mensagem import cabecalho from mensagem import rodape from random import randint #programa principal cabecalho('MAIOR E MENOR EM TUPLA') #1º laço fazendo o programa rodar até que o usuário decida parar while True: #criando tuplas de 5 números aleatórios de 1 a 10 n = (randint(1, 10), randint(1, 10), randint(1, 10), randint(1, 10), randint(1, 10)) print(f'Sorteei os valores {n}') print() print(f'O maior valor é: {max(n)}') print(f'O menor valor é: {min(n)}') print() resposta = ' ' #laço enquanto a resposta não for S ou N while resposta not in 'SN': #upper: joga a string para maiúsculo #strip: remove os espaços no começo e no fim #[0] captura apenas o primeiro caractere resposta = input('Deseja continuar? [S/N] ').upper().strip()[0] print() if resposta == 'N': #quebrando o 1º laço break
''' #importando parte do código from mensagem import cabecalho from mensagem import rodape #função que retorna o número antecessor e sucessor def ant_suc(num): ant = num - 1 suc = num + 1 #retornando dois valores return ant, suc #programa principal cabecalho('NÚMERO ANTERIOR E SUCESSOR') #1º laço fazendo o programa rodar até que o usuário decida parar while True: num = int(input('Escreva um número: ')) ant, suc = ant_suc(num) print() print(f'O antecessor é {ant} e o sucessor {suc}.') print() resposta = ' ' #2º laço enquanto a resposta não for S ou N while resposta not in 'SN': #upper: joga a string para maiúsculo #strip: remove os espaços no começo e no fim #[0] captura apenas o primeiro caractere resposta = input('Deseja continuar? [S/N] ').upper().strip()[0] print()
''' #importando parte do código from mensagem import cabecalho from mensagem import rodape #função que calcula se o ano é bissexto def ano_bissexto(ano): if ano % 4 == 0 and ano % 100 != 0 or ano % 400 == 0: print(f'O ano {ano} é bissexto.') else: print(f'O ano {ano} NÃO é bissexto.') #programa principal cabecalho('ANO BISSEXTO') #1º laço fazendo o programa rodar até que o usuário decida parar while True: ano = int(input('Informe o ano: ')) ano_bissexto(ano) print() resposta = ' ' #2º laço enquanto a resposta não for S ou N while resposta not in 'SN': #upper: joga a string para maiúsculo #strip: remove os espaços no começo e no fim #[0] captura apenas o primeiro caractere resposta = input('Deseja continuar? [S/N] ').upper().strip()[0] print() if resposta == 'N': #quebrando o 1º laço
''' Faça um jogo de adivinhação de números, entre os números 0 a 5. Usuário digita um número, computador escolhe um número e se os números forem os mesmos, usuário ganha. ''' #importando parte do código from random import randint from time import sleep from mensagem import cabecalho from mensagem import rodape from mensagem import linha #programa principal cabecalho('jogo adivinhação') #1º laço fazendo o programa rodar até que o usuário decida parar while True: computador = randint(0, 5) linha() print('Por favor escolha um número de 0 a 5') linha() jogador = int(input('Em que número eu pensei? ')) print('Processando...') sleep(2) if jogador == computador: print('PARABÉNS! Você conseguiu adivinhar!') else: print(f'Eu pensei no número {computador}.') print() resposta = ' ' #2º laço enquanto a resposta não for S ou N while resposta not in 'SN':
''' Crie um programa que faça a conversão de temperaturas de Celsius para Farenheit. E de Farenheit para Celsius. ''' from mensagem import cabecalho from mensagem import rodape cabecalho('CONVERSÃO DE TEMPERATURAS') def cf(valor): f = ((valor * 9) / 5) + 32 print(f'A temperatura em graus Farenheit é {f:.2f}') def fc(valor): c = (5 * (valor - 32) / 9) print(f'A temperatura em graus Celsius é {c:.2f}') resposta = ' ' while resposta not in '12': print('Digite 1 para converter de Celsius para Farenheit') print('Digite 2 para converter de Farenheit para Celsius') resposta = input('Qual conversão gostaria de fazer? ').strip()[0] if resposta == '1': valor = float(input('Digite a temperatura em Celsius: ')) cf(valor) elif resposta == '2': valor = float(input('Digite a temperatura em Farenheit: ')) fc(valor)
#tratando as parcelas para essa opção while parcela <= 2: print('Valor inválido! Apenas parcelas acima de 2 nessa opção.') parcela = int(input('Digite novamente. Total de parcelas: ')) if parcela >= 3: break preco_final = total / parcela print( f'Sua compra será parcelada em {parcela}x de R$ {preco_final:.2f} com juros' ) else: print('Escolha uma opção válida.') #programa principal cabecalho('formas de pagamento') #1º laço fazendo o programa rodar até que o usuário decida parar while True: preco = float(input('Preço das compras: R$ ')) print('''Escolha como vai pagar: [1] à vista dinheiro. [2] à vista cartão/cheque [3] 2x no cartão de crédito [4] 3x ou mais no cartão''') opcao = int(input('Qual é a opção? ')) tipo_pagamento(opcao) print() resposta = ' ' #2º laço enquanto a resposta não for S ou N while resposta not in 'SN': #upper: joga a string para maiúsculo
#importando parte do código from mensagem import cabecalho from mensagem import rodape #função que calcula cada termo da P.A. def prog_aritm(A1, r): #fórmula da progressão aritmética An = A1 + (10 - 1) * r #laço que vai de A1 até An+r de r em r for n in range(A1, An + r, r): print(f'{n}', end=' - ') #programa principal cabecalho('DEZ PRIMEIROS TERMOS DE UMA P.A.') #1º laço fazendo o programa rodar até que o usuário decida parar while True: A1 = int(input('Primeiro termo: ')) r = int(input('Razão: ')) prog_aritm(A1, r) print() resposta = ' ' #laço enquanto a resposta não for S ou N while resposta not in 'SN': #upper: joga a string para maiúsculo #strip: remove os espaços no começo e no fim #[0] captura apenas o primeiro caractere resposta = input('Deseja continuar? [S/N] ').upper().strip()[0] print() if resposta == 'N':
#!/usr/bin/env python3.7 ''' Digite algo e mostre a tipagem da mesma. ''' #importando parte do código from mensagem import cabecalho from mensagem import rodape #programa principal cabecalho('TIPO DE DADO') #1º laço fazendo o programa rodar até que o usuário decida parar while True: a = input('Digite algo: ') print('O tipo primitivo desse valor é', type(a)) print('Só tem espaços?', a.isspace()) print('É um número?', a.isnumeric()) print('É composto de letras?', a.isalpha()) print('Ele é alfanumérico?', a.isalnum()) print('Está em maiúsculas?', a.isupper()) print('Está em minúsculas?', a.islower()) print('Está capitalizada?', a.istitle()) print() resposta = ' ' #2º laço enquanto a resposta não for S ou N while resposta not in 'SN': #upper: joga a string para maiúsculo #strip: remove os espaços no começo e no fim #[0] captura apenas o primeiro caractere resposta = input('Deseja continuar? [S/N] ').upper().strip()[0] print() if resposta == 'N':
#função que faz a classificação do atleta def classificacao(idade): if idade < 10: print('Classificação: Mirim') elif idade < 15: print('Classificação: Infantil') elif idade < 20: print('Classificação: Júnior') elif idade < 26: print('Classificação: Sênior') else: print('Classificação: Master') #programa principal cabecalho('CLASSIFICAÇÃO DE ATLETAS') #date.today().year pega o ano do SO atual = date.today().year #1º laço fazendo o programa rodar até que o usuário decida parar while True: nasc = int(input('Digite o ano de nascimento: ')) idade = atual - nasc #fazendo a validação da idade if idade <= 0 or idade >= 100: print('Idade inválida! Digite novamente') else: print(f'Sua idade é {idade} anos.') classificacao(idade) print() resposta = ' ' #2º laço enquanto a resposta não for S ou N
''' Leia vários números inteiros. No final da execução mostre a média entre eles e qual foi o maior e o menor valor lido. O programa deve perguntar se o usuário quer continuar ou não a digitar mais valores. ''' #importando parte do código from mensagem import cabecalho from mensagem import rodape #programa principal cabecalho('soma, média, maior e menor') resp = 'S' #inicializando as variáveis com zero soma = cont = media = maior = menor = 0 #1º laço fazendo o programa rodar até que o usuário decida parar while resp in 'Ss': num = int(input('Digite um valor: ')) soma += num cont += 1 if cont == 1: maior = menor = num else: if num > maior: maior = num if num < menor: menor = num #upper: joga a string para maiúsculo #strip: remove os espaços no começo e no fim #[0] captura apenas o primeiro caractere resp = input('Deseja continuar? [S/N] ').strip().upper()[0]
#!/usr/bin/env python3.7 ''' Leia um nome e mostre uma mensagem de boas-vindas ''' #importando parte do código from mensagem import cabecalho from mensagem import rodape #programa principal cabecalho('mensagem de boas vindas') #1º laço fazendo o programa rodar até que o usuário decida parar while True: #upper: joga a string para maiúsculo #strip: remove os espaços no começo e no fim nome = input('Qual o seu nome? ').upper().strip() print(f'Seja bem-vindo {nome}!') print() resposta = ' ' #2º laço enquanto a resposta não for S ou N while resposta not in 'SN': #[0] captura apenas o primeiro caractere resposta = input('Deseja continuar? [S/N]? ').upper().strip()[0] if resposta == 'N': #quebrando o 1º laço break print() rodape()
peso = float(input(f'Informe o peso da {n}ª pessoa: ')) #se for o primeiro valor o maior e o menor são iguais if n == 1: maior = peso menor = peso else: if peso > maior: maior = peso elif peso < menor: menor = peso print(f'O maior peso é {maior}Kg.') print(f'O menor peso é {menor}Kg.') #programa principal cabecalho('INFORMANDO O MAIOR E O MENOR ENTRE 5 PESOS') #1º laço fazendo o programa rodar até que o usuário decida parar while True: f_peso() print() resposta = ' ' #laço enquanto a resposta não for S ou N while resposta not in 'SN': #upper: joga a string para maiúsculo #strip: remove os espaços no começo e no fim #[0] captura apenas o primeiro caractere resposta = input('Deseja continuar? [S/N] ').upper().strip()[0] print() if resposta == 'N': #quebrando o 1º laço break