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.validação import lerInt from functions.visual import arredondamento print('Sendo H = 1 + 1/2 + 1/3 + 1/4 + ... + 1/N') n = lerInt('Digite a quantidade de termos de N para calcular o valor de H: ', pos=True, erro='Digite uma quantidade válida') print('H = 1', end='') den = h = 1 for x in range(n - 1): den += 1 print(f' + 1/{den}', end='') h += 1 / den print(f' = {arredondamento(h)}')
from functions.validação import lerFloat, lerInt from functions.visual import titulo qtdVend = lerInt("Qual a quantidade de vendedores da empresa: ", erro="Digite uma quantidade válida", pos=True) contadores = [ [200, 0, "R$200 e R$299"], [300, 0, "R$300 e R$399"], [400, 0, "R$400 e R$499"], [500, 0, "R$500 e R$599"], [600, 0, "R$600 e R$699"], [700, 0, "R$700 e R$799"], [800, 0, "R$800 e R$899"], [900, 0, "R$900 e R$999"], [0, "Acima de R$1000"], ] for x in range(qtdVend): 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
maioresaci = [] menoresaci = [] for x in range(5): print('-=' * 40) while True: try: cod = input(f'Código da {x+1}° cidade: ') v = int(cod) except: print('Digite um código válido') else: if v > 0: break print('Digite um código válido') qtdvei = lerInt( 'Quantos carros a passeio passaram nessa cidade no ano de 1999? ', pos=True, erro='Digite uma quantidade válida') somavei += qtdvei while True: acidentes = lerInt('Quantos acidentes nessa cidade no ano de 1999? ', pos=True, erro='Digite uma quantidade válida') if acidentes <= qtdvei: break print('Possibilidade inválida.') if x == 0 or acidentes > maiorvei: maiorvei = acidentes if x == 0 or acidentes < menorvei: menorvei = acidentes if qtdvei < 2000: c += 1
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 arredondamento n = lerInt('Quantos termos deseja mostrar? ', pos=True, erro='Digite uma quantidade válida') if n == 0: print('Quantidade de termos nula') print('Programa encerrado...') exit() if n == 1: print('Soma = 1/1 = 1') exit() num = den = s = 1 print('Soma = 1/1 + ', end='') for x in range(n - 1): num += 1 den += 2 s += num / den if x == n - 2: print(f'{num}/{den} = ', end='') else: print(f'{num}/{den} + ', end='') s = arredondamento(s) print(s)
from functions.validação import lerInt from functions.visual import tabela A = [] for x in range(10): A.append(lerInt(f'Digite o {x + 1}° número: ')) print() soma = 0 for v in A: soma += v**2 for y in range(len(A)): A[y] = str(A[y]) tabela( { 'Valores digitados': '; '.join(A), 'Soma dos quadrados desses valores': soma }, tam=56)
from functions.validação import lerFloat, lerInt from functions.visual import formatDinheiro from time import sleep divida = lerFloat('Valor da dívida: R$', pos=True, erro='Digite uma quantia válida') if divida == 0: print('Nenhuma dívida registrada') print('Programa encerrado') exit() while True: parcelas = lerInt('Quantas parcelas deseja pagar? ', pos=True, erro='Digite uma quantidade válida') if parcelas > 0: break print('Digite uma quantidade válida') if parcelas < 3: juros = 0 else: juros = 5 + 5 * (parcelas // 3) total = divida + (divida * (juros / 100)) print('Analisando...') sleep(1.5) print( f'{"Valor da dívida":<30}{"Valor do juros":<30}{"Quantidade de parcelas":<30}{"Valor da parcela":<30}{"Valor total"}'
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 for c in candidatos: soma += c[2] for c in candidatos:
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 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.validação import lerInt from functions.visual import tabela nums = [] for x in range(5): nums.append(lerInt(f'Digite o {x + 1}° número inteiro: ', erro="\33[1;31mNÚMERO INTEIRO!\33[m")) mult = 1 soma = 0 for i, n in enumerate(nums): mult *= n soma += n nums[i] = str(nums[i]) tabela({ 'Soma dos números digitados': soma, 'Multiplicação dos números digitados': mult, 'Números digitados': '; '.join(nums) }, tam=42)
from functions.validação import lerInt from functions.visual import tabela nums = [] for x in range(20): nums.append( lerInt(f'Digite o {x + 1}° número inteiro: ', erro='NÚMERO INTEIRO')) pares = [] impares = [] for n in nums: if n % 2 == 0: if n not in pares: pares.append(n) else: if n not in impares: impares.append(n) nums.sort() pares.sort() impares.sort() tabela( { 'Números registrados': nums, 'Números pares': pares, 'Números ímpares': impares }, tam=84)
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): if verifPrimo(x): print(x, end=' ') print()
from functions.validação import lerInt inicio = lerInt('Início: ') final = lerInt('Final: ') if final == inicio: print('Paramêtros iguais...') else: print('Contando...') if inicio < final: for v in range(inicio, final + 1): print(v, end=' ') else: for v in range(inicio, final - 1, -1): print(v, end=' ')
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)
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 inteiro = False positivo = False
from functions.validação import lerFloat, lerInt from functions.visual import tabela qtd = lerInt('Qauntos termos deseja digitar? ', pos=True, erro='Digite uma quantidade válida') soma = maior = menor = 0 if qtd == 0: print('Até logo') else: for x in range(qtd): while True: num = lerFloat(f'{x + 1}° Número: ') if 0 <= num <= 1000: break print('Digite um valor de 0 a 1000') if x == 0 or num > maior: maior = num if x == 0 or num < menor: menor = num soma += num dados = { 'Quantidade de números': qtd, 'Maior valor': maior, 'Menor valor': menor, 'Soma': soma } tabela(dados)
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 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.validação import lerInt from functions.visual import arredondamento, tabela from time import sleep nturmas = lerInt('Quantas turmas deseja analisar? ', pos=True, erro='Digite uma quantidade válida') if nturmas == 0: print('Encerrando...') sleep(1.2) exit() soma = 0 dados = {} for x in range(nturmas): while True: qtd = lerInt(f'Quantas alunos na turma {x + 1}? ', pos=True, erro='Digite uma quantidade válida') if qtd <= 40: break print('Não é possivel ter mais que 40 pessoas em uma turma') soma += qtd dados[f'Turma {x + 1}'] = f'{qtd} pessoas' media = arredondamento(soma / nturmas) dados['Média de alunos por turma'] = f'{media} pessoas' print('Analisando...') sleep(1.2) tabela(dados, tam=40)
from functions.validação import lerInt vezes = lerInt('Quantos termos? ', pos=True, erro='Digite uma quantidade válida') ant = suc = 1 print('1 1', end=' ') try: for x in range(vezes - 2): ter = ant + suc print(ter, end=' ') ant = suc suc = ter except: if vezes == 1: print(1) elif vezes == 2: print('1 1') else: print('Nenhum número mostrado.')
from functions.validação import lerInt num = lerInt('Digite um número inteiro: ') if num == 0: print('O valor 0 é nulo') exit() primo = True nprimos = [] if num < 0: for x in range(num + 1, -1): if num % x == 0: nprimos.append(x) primo = False else: for x in range(num - 1, 1, -1): if num % x == 0: nprimos.append(x) primo = False print('-='*35) if primo: print(f'O valor {num} é primo') else: print(f'O valor {num} NÃO é primo') print(f'Os valores que o dividiram (fora {num} e 1) foram: ', end='') for v in nprimos: print(v, end='; ') print() print('-='*35)
from functions.validação import lerInt from functions.visual import titulo titulo('Fatorial') num = lerInt('Deseja saber o fatorial de qual número? ') print(f'Fatorial de {num}: ') print(f'{num}!', end=' = ') fat = 1 if num == 0: print(fat) elif num < 0: for x in range(num, 0): fat *= x if x != -1: print(x, end=' x ') else: print(x, end=' = ') print(fat) else: for x in range(num, 0, -1): fat *= x if x != 1: print(x, end=' x ') else: print(x, end=' = ') print(fat)
from functions.validação import lerInt dias = [ 'Domingo', 'Segunda-Feira', 'Terça-Feira', 'Quarta-Feira', 'Quinta-Feira', 'Sexta-Feira', 'Sábado' ] while True: dia = lerInt('Digite um número de 1 a 7: ') if 0 < dia <= 7: break print('NÚMERO DE 1 A 7') print(f'O dia {dia} corresponde a {dias[dia - 1]}')
from functions.validação import lerInt, lerFloat, media from functions.visual import formatDinheiro, tabela from time import sleep qtd = lerInt("Quantos CD's possui a coleção? ", pos=True, erro='Digite uma quantidade válida') if qtd == 0: print('Encerrando...') sleep(1.2) exit() precos = [] for x in range(qtd): precos.append( lerFloat(f'Preço do {x + 1}° CD: R$', pos=True, erro='Digite uma quantia válida')) dados = { 'Total gasto': formatDinheiro(sum(precos)), 'Preço médio por CD': formatDinheiro(media(precos)) } tabela(dados)
from functions.validação import lerInt num = lerInt('Digite um número inteiro positivo: ', pos=True, erro='NÚMERO INTEIRO POSITIVO') num = str(num) print(f'O número digitado invertido é: {num[::-1]}')
percentage = 100 * (playerV / totalV) return f'{percentage:.1f}%' def sortOrder(e): return e[1] players = [] totalVotes = 0 while True: while True: player = lerInt('Número do jogador (0=fim): ', erro='Informe um valor entre 1 e 23 ou 0 para sair!', pos=True) if 0 <= player <= 23: break print('Informe um valor entre 1 e 23 ou 0 para sair!') if player == 0: break alreadyExist = False for p in players: if p[0] == player: alreadyExist = True
from functions.validação import lerFloat, lerInt popA = lerInt('Popoulação do país A: ', pos=True, erro='Digite uma população válida') while True: creA = lerFloat('Taxa de crescimento, em %, do país A: ', pos=True, erro='Digite um valor entre 0 e 100') if 0 <= creA <= 100: break print('Digite um valor entre 0 e 100') popB = lerInt('População do país B: ', pos=True, erro='Digite uma população válida') while True: creB = lerFloat('Taxa de crescimento, em %, do país B: ', pos=True, erro='Digite um valor entre 0 e 100') if 0 <= creB <= 100: break print('Digite um valor entre 0 e 100') pais1 = [popA, creA / 100, 'país A'] pais2 = [popB, creB / 100, 'país B'] iguais = False if pais1[0] == pais2[0]: iguais = True print('-=' * 35)
from functions.validação import lerInt dados = {} while True: num = lerInt('Digite um número entre 1 e 999: ', pos=True, erro='Digite um valor válido') if 0 < num < 1000: break print('Um número entre 1 e 1000... Tente novamente') if len(str(num)) == 1: dados['unidades'] = num elif len(str(num)) == 2: dados['dezenas'] = num // 10 dados['unidades'] = num - dados['dezenas'] * 10 else: dados['centenas'] = num // 100 dados['dezenas'] = (num - dados['centenas'] * 100) // 10 dados['unidades'] = (num - (dados['centenas'] * 100 + dados['dezenas'] * 10)) print(f'O número {num} possui ', end='') for k, v in dados.items(): if v != 0: if k != 'unidades': print(f'{v} {k}', end=', ') else: print(f'{v} {k}')