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
Soluções para a tarefa
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 interessantes
Português,
6 meses atrás
Português,
6 meses atrás
Português,
8 meses atrás
Ed. Física,
8 meses atrás
História,
1 ano atrás