from functions.validação import lerFloat, lerInt from functions.visual import titulo, arredondamento from time import sleep titulo('Analisador de dados') num1 = lerFloat('Número 1: ') num2 = lerFloat('Número 2: ') print("""O que deseja fazer com esses números? [1] Somar [2] Subtrair [3] Multiplicar [4] Dividir""") opcoes = [1, 2, 3, 4] while True: opcao = lerInt('Sua opção: ', erro='Digite uma opção válida') if opcao in opcoes: break print('Digite uma opção válida') if opcao == 1: res = num1 + num2 elif opcao == 2: res = num1 - num2 elif opcao == 3: res = num1 * num2 else: res = num1 / num2
from functions.validação import lerInt from functions.visual import titulo titulo('Analisador de números primos') print( 'O programa irá analisar todos os números de 1 até N* e irá dizer quais desses números são primos.' ) print('* N é um input digitado pelo usuário.') n = lerInt('Digite um número inteiro para o valor de N: ') nprimos = [] c = 0 if n > 0: for x in range(2, n + 1): primo = True for y in range(x - 1, 1, -1): c += 1 if x % y == 0: primo = False if primo: nprimos.append(x) else: for x in range(n, -1): primo = True for y in range(x + 1, -1): c += 1 if x % y == 0: primo = False if primo: nprimos.append(x)
from functions.visual import tabela, formatDinheiro, titulo from functions.validação import lerFloat titulo('Hipermercado Tabajara') carnes = {'F': 'Filé duplo', 'A': 'Alcantra', 'P': 'Picanha'} print("""Selecione uma opção de carne: [F] Filé duplo [A] Alcantra [P] Picanha""") while True: esc = input('Sua opção: ').upper().strip()[0] if esc in 'FAP': break print('Selecione uma opção válida') while True: quantidade = lerFloat('Quantos Kg deseja comprar? ', pos=True, erro='Digite uma quantidade válida') if quantidade != 0: break print('A quantidade não pode ser 0Kg') if esc == 'F': if quantidade > 5: precokg = 5.8 else: precokg = 4.9 elif esc == 'A': if quantidade > 5:
from functions.validação import lerFloat, lerInt, media from functions.visual import tabela, titulo, arredondamento from time import sleep titulo('Senso altura e peso') pessoas = {} maiora = menora = maiorp = menorp = c = 0 alturas = [] pesos = [] while True: while True: cod = input('Digite seu código (Digite 0 para encerrar): ') try: v = int(cod) except: print('Digite um código válido.') else: if v >= 0: break if int(cod) == 0: break c += 1 while True: altura = lerFloat('Digite sua altura em metros: ', pos=True, erro='Digite uma altura válida') if 0.5 < altura < 2.8: break print('Digite uma altura em metros válida') if altura > maiora or c == 1:
from functions.validação import lerInt from functions.visual import titulo titulo('ELEIÇÕES') qtd = lerInt('Quantas pessoas votarão? ', pos=True, erro='Digite uma quantidade válida.') if qtd == 0: print('Eleições canceladas por falta de eleitores') exit() candidatos = {'p': 0, 'c': 0, 'f': 0} print('-='*10) print("""Candidatos: [C] Caique [F] Fernando [P] Pedro""") print('-='*10) for x in range(qtd): while True: try: esc = input(f'Candidato n° {x + 1}, selecione sua opção: ').strip().lower()[0] except: print('Selecione uma opção válida.') else: if esc in candidatos.keys(): break print('Selecione uma opção válida.') candidatos[esc] += 1 pontuacoes = [] for v in candidatos.values():
from functions.visual import tabela, titulo, arredondamento titulo('Gabarito') naluno = soma = 0 gabarito = ['A', 'B', 'C', 'D', 'E', 'E', 'D', 'C', 'B', 'A'] opc = ['A', 'B', 'C', 'D', 'E'] alunos = [] while True: naluno += 1 resp = [] for x in range(10): while True: res = input(f'Resposta da {x + 1}° questão: ').upper().strip() if res in opc: break print('Digite uma resposta válida') resp.append(res) certas = 0 for i, r in enumerate(gabarito): if r == resp[i]: certas += 1 print(f'Sua nota: {certas:.1f}') alunos.append([f'Aluno {naluno}', certas]) while True: esc = input('Mais alguém a registrar? [S/N] ').strip().upper() if esc == 'S' or esc == 'N': break print('Selecione apenas "S" para sim e "N" para não') if esc == 'N': break
from functions.validação import lerNota from functions.visual import tabela, arredondamento, titulo from time import sleep titulo('Competição de ginástica') nome = input('Nome do atleta: ').strip() if nome == "": print('Nenhum atleta informado...') exit() notas = [] for x in range(7): notas.append(lerNota(f'Nota do {x + 1}° jurado: ')) notas.sort() maior = notas[len(notas) - 1] menor = notas[0] media = arredondamento(sum(notas[1:6]) / 5) print('Analisando...') sleep(1.1) dados = { 'Atleta': nome, 'Maior nota': maior, 'Menor nota': menor, 'Média de notas': media } tabela(dados)
from functions.visual import titulo from functions.validação import lerInt titulo('Tabuada') while True: num = lerInt('Digite um número de 1 a 10: ') if 0 < num <= 10: break print('UM NÚMERO DE 1 A 10. Tente novamente...') print('-='*12) for x in range(10): print(f'{num} x {x + 1} = {(x+1)*num}') print('-='*12)
from functions.validação import lerFloat from functions.visual import titulo, tabela, arredondamento from time import sleep titulo('Salto em distância') atletas = [] while True: saltos = [] c = False nome = input('Nome do atleta (deixa em branco para encerrar o programa): ' ).strip().upper() if nome == "": break else: for p in atletas: if p[0] == nome: c = True print('Esse nome ja foi registrado') if c: continue for x in range(5): saltos.append(lerFloat(f'Distância do {x + 1}° Salto em metros: ')) saltos.sort() tabela( { 'Melhor salto': f'{saltos[4]}m', 'Pior salto': f'{saltos[0]}m', 'Média dos demais saltos': f'{arredondamento(sum(saltos[1:4]) / 3)}' },
from functions.validação import lerFloat from functions.visual import formatDinheiro, tabela, titulo from time import sleep titulo('Lojas Tabajara') c = soma = 0 dados = {} while True: c += 1 p = lerFloat(f'Preço do {c}° produto (Digite 0 para encerrar): R$', pos=True, erro='Digite uma quantidade válida') if c == 1 and p == 0: print('Nenhum produto registrado, encerrando...') sleep(1.2) exit() if p == 0: break dados[f'Produto {c}'] = formatDinheiro(p) soma += p dados['Total'] = formatDinheiro(soma) print('Valor total: ' + dados['Total']) while True: quantia = lerFloat('Quantia paga pelo cliente: R$', pos=True, erro='Digite uma quantia válida') if quantia > soma: dados['Dinheiro'] = formatDinheiro(quantia) break print('Quantia insuficiente.')
primo = False elif num > 0: for x in range(num - 1, 1, -1): if num % x == 0: primo = False else: for x in range(num + 1, -1): if num % x == 0: primo = False if primo: return True else: return False titulo('Achador de números primos') while True: num = lerInt('O programa vai achar todos os números primos entra 1 e N. Digite o valor de N: ') if num != 0: break print('O valor 0 é nulo... Tente outro') if num > 0: print(f'Os valores primos entre 1 e {num} são: ', end='') for x in range(2, num): if verifPrimo(x): print(x, end=' ') else: print(f'Os valores primos entre {num} e -1 são: ', end='') for x in range(-2, num, -1):
from functions.validação import lerFloat, lerInt from functions.visual import titulo, arredondamento titulo('Potência') base = lerFloat('Base: ') expoente = lerInt('Expoente: ') res = base if expoente == 0: res = 1 elif expoente > 0: for x in range(expoente - 1): res *= base else: pot = base for x in range(expoente - 1): pot *= base res = 1 / pot arredondamento(res) if expoente < 0: print('Resultado aproximado:', res) else: print('Resultado:', res)
from functions.visual import formatDinheiro, titulo titulo('Lojas Quase Dois') for x in range(50): print(f'{x + 1:.<20}{formatDinheiro((x + 1) * 1.99)}')
from functions.validação import lerInt from functions.visual import titulo titulo('Verificador de números primos') num = lerInt('Digite um número inteiro: ', erro='NÚMERO INTEIRO...') if num == 0: print('0 é um valor núlo') exit() primo = True if num > 0: for x in range(2, num): if num % x == 0: primo = False else: for x in range(-2, num, -1): if num % x == 0: primo = False if primo == False or num == 1 or num == -1: print(f'O valor {num} NÃO é primo') else: print(f'O valor {num} é primo')
notas.reverse() notasSenInv = notas[:] notas.reverse() print(f'Notas no sentido inverso em que foram informadas:', end="") for nota in notasSenInv: print(nota, end="; ") print('\n') print(f'Soma das notas: {arredondamento(sum(notas))}\n') print(f'Média das notas: {arredondamento(media(notas))}\n') qtdNotasAcima = 0 for nota in notas: if nota > media(notas): qtdNotasAcima += 1 print(f'Quantidade de notas acima da media: {qtdNotasAcima}\n') qtdNotasAbaixo7 = 0 for nota in notas: if nota < 7: qtdNotasAbaixo7 += 1 print(f'Quantidade de notas abaixo de 7: {qtdNotasAbaixo7}\n') titulo('Programa encerrado')
from functions.validação import lerSimNao from functions.visual import titulo titulo('Interrogatório') counter = 0 for x in range(5): perguntas = [ 'Telefonou para a vítima? ', 'Esteve no local do crime? ', 'Mora perto da vítima? ', 'Devia para a vítima? ', 'Já trabalhou com a vítima? ' ] if lerSimNao(perguntas[x]): counter += 1 if counter < 2: status = 'INOCENTE' elif counter < 3: status = 'SUSPEITA' elif counter < 5: status = 'CÚMPLICE' else: status = 'ASSASSINO' print(f'\nO interrogado foi classificado como "{status}"')
from functions.validação import lerInt, media from functions.visual import titulo, tabela, arredondamento from time import sleep titulo('Analisador de idades') qtd = lerInt('Quantas pessoas deseja registrar? ', pos=True, erro='Digite uma quantidade válida.') if qtd == 0: print('Encerrando...') sleep(1.2) exit() dados = {} idades = [] for x in range(qtd): idade = lerInt(f'Idade da {x + 1}° pessoa: ', pos=True, erro='Digite uma idade válida') idades.append(idade) dados[f'Idade da {x + 1}° pessoa'] = idade mediai = arredondamento(media(idades)) dados['Média de idades'] = mediai if mediai < 25: situacao = 'Jovem' elif mediai < 60: situacao = 'Adulta' else: situacao = 'Idosa' dados['Classificação da turma'] = situacao tabela(dados, tam=34)
from functions.validação import lerNota, lerInt from functions.visual import titulo, arredondamento, tabela titulo('Calculo de média') qtd = lerInt('Quantas notas deseja analisar? ', pos=True, erro='Digite uma quantidade válida') if qtd == 0: print('Encerrando...') exit() dados = {} soma = c = 0 for x in range(qtd): nota = lerNota(f'{x + 1}° Nota: ') soma += nota c += 1 dados[f'Nota {x + 1}'] = nota dados['Média'] = arredondamento(soma / c) tabela(dados, tam=12)
from functions.visual import formatDinheiro, titulo titulo('Panificadora Pão de Ontem') for x in range(50): print(f'{x + 1:.<20}{formatDinheiro((x + 1) * 0.18)}')
from functions.validação import lerInt from functions.visual import titulo, arredondamento from time import sleep candidatos = [[1, 'Pedro', 0], [2, 'José', 0], [3, 'Fernando', 0], [4, 'Lucas', 0], [5, 'voto nulo', 0], [6, 'voto em branco', 0]] qtdvotos = [] titulo('Eleições') print("""Candidatos [1] Pedro [2] José [3] Fernando [4] Lucas [5] Voto nulo [6] Voto em branco""") while True: while True: esc = lerInt('Sua opção: (digite "0" para encerrar a eleição) ', erro='Selecione uma opção válida') if 0 <= esc <= 6: break print('Selecione uma opção válida') if esc == 0: break else: for c in candidatos: if c[0] == esc: c[2] += 1 print('Dado registrado com sucesso') soma = 0
from functions.validação import lerInt from functions.visual import titulo titulo('Fatorial') while True: while True: num = lerInt( 'Deseja saber o fatorial de qual número? (máximo = 16 e mínimo = 0) ' ) if 0 <= num <= 16: break print('Digite uma opção válida.') if num == 0: print('0! = 1') exit() fat = 1 print(f'{num}! = ', end='') for x in range(num, 0, -1): fat *= x if x != 1: print(x, end=' x ') else: print(f'{x} = {fat}') while True: esc = input('Deseja continuar? [S/N] ').lower().strip()[0] if esc in 'sn': break print('Selecione uma opção válida') if esc == 'n':
from functions.validação import lerInt from functions.visual import tabela, titulo titulo('Analisador de pares e ímpares') pares = [] impares = [] for x in range(10): num = lerInt(f'Número {x + 1}: ') if num not in impares and num not in pares: if num % 2 == 0: pares.append(num) else: impares.append(num) pares.sort() impares.sort() txtpar = txtimpar = '' for v in pares: txtpar += ' ' + str(v) for v in impares: txtimpar += ' ' + str(v) dados = {'Pares': txtpar, 'Ímpares': txtimpar} tabela(dados)
valorBruto = lerFloat(f'Valor bruto arrecadado pelo {x + 1}° vendedor: R$', erro="Digite um valor válido", pos=True) salario = 200 + valorBruto * 0.09 for ind, cont in enumerate(contadores): if ind != 8: if salario >= cont[0] and salario < contadores[ind + 1][0]: cont[1] += 1 break else: cont[0] += 1 print('\n') titulo('Registro de salário de vendedores') print('\n') for ind, cont in enumerate(contadores): if ind != 8: if cont[1] != 0: if cont[1] == 1: print( f'Foi registrado {cont[1]} vendedor com salario entre {cont[2]}' ) else: print( f'Foram registrados {cont[1]} vendedores com salario entre {cont[2]}' ) else: if cont[0] != 0:
from functions.validação import lerFloat from functions.visual import titulo, formatDinheiro titulo('Posto de gasolina') while True: litros = lerFloat('Quantos litros deseja colocar? ', pos=True, erro='Digite uma quantia válida') if litros != 0: break print('Digite algum valor') print("""Selecione uma das opções: [G] Gasolina [A] Álcool""") while True: esc = input('Sua opção: ').strip().lower()[0] if esc in 'ga': break print('Selecione uma opção válida') gasolina = 2.5 alcool = 1.9 if esc == 'g': if litros <= 20: precolitro = gasolina * 0.96 else: precolitro = gasolina * 0.94 else: if litros <= 20: precolitro = alcool * 0.97