print("Copyright ©2024 | Delean Mafra, todos os direitos reservados.")
def preencher_com_zeros(valor_c, total_digitos):
return valor_c + '0' * (total_digitos - len(valor_c))
def calcular_dv(chave):
multiplicadores = [2, 3, 4, 5, 6, 7, 8, 9] * 6
soma = 0
for i in range(43):
soma += int(chave[i]) * multiplicadores[i]
resto = soma % 11
if resto < 2:
return 0
else:
return 11 - resto
uf = 42
aamm = 2403
cnpj = 75315333030369
modelo = 65
serie = 536
numero = 2355
fem = 10
digitos36 = str(uf) + str(aamm) + str(cnpj) + str(modelo) + str(serie) + str(numero) + str(fem)
digitos43 = preencher_com_zeros(digitos36, 43)
dv = calcular_dv(digitos43)
digitos44 = str(digitos43) + str (dv)
print(digitos44)
import codewars_test as test
# TODO Write tests
import solution # or from solution import example
# test.assert_equals(actual, expected, [optional] message)
@test.describe("Example")
def test_group():
@test.it("test case")
def test_case():
test.assert_equals(1 + 1, 2)
import re
print("Copyright ©2024 | Delean Mafra, todos os direitos reservados.")
def validador():
cpf = str('081.633.880-99')#str(input("Digite um CPF para ser validado ao lado: "))
# Remove os caracteres de pontuação do CPF
cpf = cpf.replace(".", "").replace("-", "")
# Extrai apenas os dígitos do CPF, ignorando os caracteres especiais
numeros = [int(digito) for digito in cpf if digito.isdigit()]
quant_digitos = False
validacao1 = False
validacao2 = False
if len(numeros) == 11:
quant_digitos = True
soma_produtos = sum(a*b for a, b in zip(numeros[0:9], range(10, 1, -1)))
digito_esperado = (soma_produtos * 10 % 11) % 10
if numeros[9] == digito_esperado:
validacao1 = True
soma_produtos1 = sum(a*b for a, b in zip(numeros[0:10], range(11, 1, -1)))
digito_esperado1 = (soma_produtos1 * 10 % 11) % 10
if numeros[10] == digito_esperado1:
validacao2 = True
if quant_digitos == True and validacao1 == True and validacao2 == True:
print(f"O CPF {cpf} é válido.")
return cpf
else:
print(f"O CPF {cpf} não é válido... Tente outro CPF...")
return None
else:
print(f"O CPF {cpf} não é válido... Tente outro CPF...")
return None
def calcula_digito_pis(cpf):
cpf = [int(digito) for digito in str(cpf)]
pesos = [3, 2, 9, 8, 7, 6, 5, 4, 3, 2]
cpf = cpf[:-1]
pesos = pesos[-len(cpf):]
total = sum(cpf[i] * pesos[i] for i in range(len(cpf)))
resto = total % 11
digito_verificador = 11 - resto
if digito_verificador in [10, 11]:
digito_verificador = 0
cpf.append(digito_verificador)
cpf = ''.join(str(i) for i in cpf)
cpf = cpf.zfill(11)
return cpf
while True:
cpf_usuario = validador()
if cpf_usuario is not None:
# Calculando o dígito verificador do PIS para o CPF fornecido
resultado = calcula_digito_pis(cpf_usuario)
print(resultado)
resposta = 'N'#input("Deseja converter outro CPF para PIS? (S/N) ").upper()
if resposta in ["NÃO", "N", "NO", "N"]:
print("Obrigado por usar o programa. Até mais!")
break
elif resposta not in ["SIM", "S", "YES", "Y"]:
print("Resposta inválida. Por favor, responda com 'S' ou 'N'.")
import codewars_test as test
# TODO Write tests
import solution # or from solution import example
# test.assert_equals(actual, expected, [optional] message)
@test.describe("Example")
def test_group():
@test.it("test case")
def test_case():
test.assert_equals(1 + 1, 2)
print("Copyright ©2024 | Delean Mafra, todos os direitos reservados.")
# Define o preço do ouro puro por grama em BRL
preco_por_grama = 385.73
# Solicita a pureza do ouro em quilates e converte para inteiro
while True:
try:
pureza_em_quilates = int(24)#int(input('Quilates do ouro (1-24): '))
if 1 <= pureza_em_quilates <= 24:
break
else:
print("Por favor, insira um número entre 1 e 24.")
except ValueError:
print("Entrada inválida. Por favor, insira um número inteiro.")
# Calcula a porcentagem de ouro puro em 1 quilate
percentual_ouro_puro = pureza_em_quilates / 24
# Solicita o peso da barra de ouro em gramas e converte para inteiro
while True:
try:
peso_da_barra_de_ouro = int(10)#int(input('Peso do ouro em gramas: '))
if peso_da_barra_de_ouro > 0:
break
else:
print("Por favor, insira o total de gramas: ")
except ValueError:
print("Entrada inválida. Por favor, insira um número inteiro.")
# Calcula o valor de 1 quilograma de ouro com pureza de 1 quilate
valor_da_barra_de_ouro = peso_da_barra_de_ouro * preco_por_grama * percentual_ouro_puro
# Imprime o valor da barra de ouro
if peso_da_barra_de_ouro < 1000:
print(f"O valor de uma barra de ouro de {peso_da_barra_de_ouro} gramas com pureza de {pureza_em_quilates} quilate(s) é aproximadamente BRL {valor_da_barra_de_ouro:.2f}")
elif peso_da_barra_de_ouro >= 1000 and peso_da_barra_de_ouro < 1000000:
print(f"O valor de uma barra de ouro de {peso_da_barra_de_ouro/1000} Kg com pureza de {pureza_em_quilates} quilate(s) é aproximadamente BRL {valor_da_barra_de_ouro:.2f}")
elif peso_da_barra_de_ouro >= 1000000:
print(f"O valor de uma barra de ouro de {peso_da_barra_de_ouro/1000000} toneladas com pureza de {pureza_em_quilates} quilate(s) é aproximadamente BRL {valor_da_barra_de_ouro:.2f}")
import codewars_test as test
# TODO Write tests
import solution # or from solution import example
# test.assert_equals(actual, expected, [optional] message)
@test.describe("Example")
def test_group():
@test.it("test case")
def test_case():
test.assert_equals(1 + 1, 2)
print("Copyright ©2024 | Delean Mafra, todos os direitos reservados.")
while True:
try:
peso = int(10000) #int(input('Digite quantos Kg você deseja converter: '))
if peso > 0:
break
else:
print("Por favor, insira o total valido: ")
except ValueError:
print("Entrada inválida. Por favor, insira um número inteiro.")
# Convertendo o peso para gramas
peso = peso * 10**6
if peso < 10**9:
print(f'{peso / 10**6} kg')
elif peso < 10**12:
print(f'{peso / 10**9} toneladas')
elif peso < 10**15:
print(f'{peso / 10**12} Quilotonelada')
elif peso < 10**18:
print(f'{peso / 10**15} Megatonelada')
elif peso < 10**21:
print(f'{peso / 10**18} Gigatonelada')
elif peso < 10**24:
print(f'{peso / 10**21} Teratonelada')
elif peso < 10**27:
print(f'{peso / 10**24} Petatonelada')
elif peso < 10**30:
print(f'{peso / 10**27} Exatonelada')
else:
print(f'{peso / 10**30} Zettatonelada')
import codewars_test as test
# TODO Write tests
import solution # or from solution import example
# test.assert_equals(actual, expected, [optional] message)
@test.describe("Example")
def test_group():
@test.it("test case")
def test_case():
test.assert_equals(1 + 1, 2)
def calcular_tempo(saldo, gasto_mensal):
meses = saldo / gasto_mensal
anos = int(meses // 12)
meses_restantes = int(meses % 12)
return anos, meses_restantes
saldo_em_conta = 20000
gasto_mensal_excessivo = 400.25
anos, meses_restantes = calcular_tempo(saldo_em_conta, gasto_mensal_excessivo)
print(f"Você ficaria sem dinheiro em aproximadamente {anos} anos e {meses_restantes} meses.")
import codewars_test as test
# TODO Write tests
import solution # or from solution import example
# test.assert_equals(actual, expected, [optional] message)
@test.describe("Example")
def test_group():
@test.it("test case")
def test_case():
test.assert_equals(1 + 1, 2)
# Retorna um numero limpo.
#import pyperclip
print("Copyright ©2024 | Delean Mafra, todos os direitos reservados.")
def limpar_string(string):
return ''.join(''.join(string.split('-')).split('.')).replace('\n', '').replace(' ', '').replace('/', '')
numero = '89.879.142/0006-98' #input("Favor digite o valor desejado: ")
numero_limpo = limpar_string(numero)
print(numero_limpo)
# Copia o valor para a área de transferência
#pyperclip.copy(numero_limpo)
import codewars_test as test
# TODO Write tests
import solution # or from solution import example
# test.assert_equals(actual, expected, [optional] message)
@test.describe("Example")
def test_group():
@test.it("test case")
def test_case():
test.assert_equals(1 + 1, 2)