Escreva um programa que receba como parâmetro de entrada um número inteiro de 5 dígitos no intervalo fechado [10000, 30000] que represente códigos de produtos vendidos em uma loja. Crie uma função para validar os dados de entrada, obrigando o usuário a respeitar o intervalo e o tipo de dado (inteiro).
Crie uma função que calcule e retorne o dígito verificador do código, utilizando a regra de cálculo explicada a seguir. Por exemplo, considere o código 21853, em que cada dígito é multiplicado por um peso começando em 2, os valores obtidos são so-mados, e do total obtido calcula-se o resto de sua divisão por 7.
Retorne na função o valor do dígito verificador calculado e imprima na tela o código do produto digitado e seu dígito verificador separado por hífen, como: 21853-5.
Imprima na tela um teste do seu programa utilizando como código os 5 primei-ros dígitos do seu RU. Se seu RU tiver menos de 5 dígitos, complete com zeros. Se seu RU cair fora do intervalo especificado, realize o teste mesmo assim.
mpdoug1995:
precisamos utilizar lista para armazenar o código cada número em uma posição, depois é necessário validar a lista toda, e após a função para descobrir o digito verificador
Respostas
respondido por:
0
Estou muita dúvida a respeito desse exercício, pois também tô nessa parte
respondido por:
24
Resposta:
Explicação:
cheguei até aqui batendo cabeça
# exercicio2
while True:
num = int(input('Digite um número entre 10000 e 30000: '))
if num < 10000:
continue
if num > 30000:
continue
else:
a = num // 1 % 10
b = num // 10 % 10
c = num // 100 % 10
d = num // 1000 % 10
e = num // 10000 % 10
a1 = (a * 6)
a2 = (b * 5)
a3 = (c * 4)
a4 = (d * 3)
a5 = (e * 2)
soma = a1 + a2 + a3 + a4 + a5
digito = soma % 7
print('{}-{}'.format(num,digito))
break
print(a, b, c, d, e)
print(a1, a2, a3, a4, a5)
print(digito)
print(soma)
Perguntas similares
4 anos atrás
4 anos atrás
6 anos atrás
6 anos atrás
6 anos atrás
8 anos atrás
8 anos atrás
8 anos atrás