Pessoal, gostaria de saber se posso criar uma função para cálculo de exponenciais, já que não posso usar a**b. Ou preciso fazer essa implementação de outra maneira? Obrigado desde já!
Oi, Alessandro!
Bom, sua pergunta mostra que você leu a parte do enunciado que diz:
"A fim de exercitarmos nosso aprendizado, o uso do operador ** (exponenciação) está interditado no EP1, ou seja, você terá que construir a distribuição sem usar explicitamente qualquer expressão da forma x**y".
Então entendo que o problema está na interpretação do texto. Concordo com você que ele poderia estar mais explícito... no meu entender, x**y ou pow(x,y) ou exp(x,y) são todas expressões formalmente equivalentes, no sentido de produzir todas o mesmo resultado x*x*x*...*x (y vezes), resultado esse aliás que todos sabemos como implementar, pois é uma simplificação do problema de multiplicar n números que resolvemos em aula. Nesse sentido, me parece que escrever uma função
def pow(x,y):
pow=1
while y>0:
pow *= x
y -= 1
return pow
não cumpriria muito a finalidade (expressa no enunciado) de exercitarmos nosso aprendizado. Você não acha?
Sobre sua segunda pergunta, o enunciado também traz a resposta: "Dica: compute as potências 100, 101,..., 10N-1 iterativamente, a fim de construir cada um dos termos da soma que define dist."
Abraços,
Marcelo
Entendi, professor. E acho que consegui fazer um treco aqui que funciona bem até. Obrigado pela resposta, abraços