duvida python

02/10/2018

0

ajuda nessa questao!
Os dois dígitos verificadores de um número inteiro com 6 algarismos (ABCDEF) formam um número inteiro com dois algarismos (XY). Eles são calculados do seguinte modo:

1) Partes Bases:
Parte Base 1 (PB1)= F*3+E*4+D*8 Parte Base 2 (PB2)= C*3+B*4+A*8

2) Unidade dos dígitos verificadores – Y
Resto da divisão de PB1 por 8, se PB1 for par Resto da divisão de PB1 por 7, se PB1 for ímpar 3) Dezena dos dígitos verificadores – X
Resto da divisão de PB2 por 8, se PB2 for par Resto da divisão de PB2 por 7, se PB2 for ímpar

Construa uma função, chamada digitosVerificadores, que receba um número inteiro com no máximo 6 algarismos (n) e retorne um número inteiro com dois algarismos, que represente os dígitos verificadores de n. Considere que um inteiro com menos de 6 algarismos possui tantos zeros à esquerda quantos forem necessários para que se complete 6 algarismos. Isto é, o inteiro 1002, para fins de cálculo dos dígitos verificadores, deve ser tratado como sendo 001002.

Para obter os dígitos verificadores de um número você terá de construir e usar as seguintes funções auxiliares:

• ehMultiplo: recebe dois números inteiros e retorna True, se o 1º é múltiplo do 2º, ou False, caso contrário. • algarismoDigitoVerificador: recebe uma parte base (PB) e retorna um dos algarismos dos dígitos verificadores, de acordo com os critérios definidos nos itens 2 e 3. Esta função deve usar, obrigatoriamente, a função ehMultiplo. • parteBaseDigitoVerificador: recebe um número com 3 algarismos e retorna a parte base desse número, de acordo com o critério definido no item 1.
Exemplos:
Os dígitos verificadores do número 123457 formam o número inteiro 43
Os dígitos verificadores do número 1002 formam o número inteiro 36

valeu!
Paulo

Paulo

Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar