Duvida programação Python

Estou com dúvida em uma questão de programação em Python.

Escreva uma programação que receba como parâmetro de entrada um número inteiro de
5 dígitos no intervalo fechado [10000, 30000]. 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, sendo eles (2,3,4,5,6). Sendo assim, (2 * 2)+(1 * 3)+(8 * 4)+(5 * 5)+(3 * 6). Os valores obtidos são somados, e da soma total, divide-se por 7.

Retorne na função o resultado da divisão por 7 do produto digitado e seu dígito verificador separado por hífen, como: 21853-5, onde primeiramente é inserido o código digitado na entrada e após o hífen o resultado da divisão por 7.

Ex:
Número digitado= 23456
Multiplicação= (22)+(33)+(44)+(55)+(6*6)= 90
Divisão= 90/7 =12

Resultado: 23456-12

E onde está a dúvida amigo? Você ao menos tentou fazer algo? A galera no fórum aqui costuma ajudar, e não fazer as coisas para os outros, se você precisa de alguém que faça o exercício para você sugiro arrumar um freelancer.

Consegui fazer a programação até informar o digito inteiro.

def ler_numero(minimo, maximo):
while True:
try:
n = int(input(f’Digite um número entre {minimo} e {maximo}: ‘))
if minimo <= n <= maximo:
return n
else:
print(f’O número deve estar entre entre {minimo} e {maximo}’)
except ValueError:
print(‘Você não digitou um número’)

Estou em dúvida em como fazer para multiplicar número por número.

Mesma dúvida que você tem: Exercicio em Python