Show
Loops muitas vezes são usados em programas que calculam resultados numéricos, começando com uma resposta aproximada e melhorando-a iterativamente. Por exemplo, uma forma de calcular raízes quadradas é o método de Newton. Suponha que você queira saber a raiz quadrada de a. Se começar com quase qualquer estimativa, x, é possível calcular uma estimativa melhor com a seguinte fórmula: . Por exemplo, se a for 4 e x for 3: >>> a = 4 >>> x = 3 >>> y = (x + a/x) / 2 >>> y 2.16666666667O resultado é mais próximo à resposta correta ( . = 2). Se repetirmos o processo com a nova estimativa, chegamos ainda mais perto: >>> x = y >>> y = (x + a/x) / 2 >>> y 2.00641025641Depois de algumas atualizações, a estimativa é quase exata: >>> x = y >>> y = (x + a/x) / 2 >>> y 2.00001024003 >>> x = y >>> y = (x + a/x) / 2 >>> y 2.00000000003Em geral, não sabemos com antecedência quantos passos são necessários para chegar à resposta correta, mas sabemos quando chegamos lá porque a estimativa para de mudar: >>> x = y >>> y = (x + a/x) / 2 >>> y 2.0 >>> x = y >>> y = (x + a/x) / 2 >>> y 2.0Quando y == x, podemos parar. Aqui está um loop que começa com uma estimativa inicial, x, e a melhora até que deixe de mudar: Para a maior parte de valores de a funciona bem, mas pode ser perigoso testar a igualdade de um float. Os valores de ponto flutuante são aproximadamente corretos: a maioria dos números racionais, como 1/3, e números irracionais, como ., não podem ser representados exatamente com um float.Em vez de verificar se x e y são exatamente iguais, é mais seguro usar a função integrada abs para calcular o valor absoluto ou magnitude da diferença entre eles: if abs(y-x) < epsilon: breakOnde epsilon tem um valor como 0.0000001, que determina a proximidade desejada entre x e y.
Resultado: 0,0 2.0 1.8708286933869707Erro: Quando x <0 não executa devido a um erro de tempo de execução. import math print(math.sqrt(-1))Resultado: Traceback (última chamada mais recente): Arquivo "/home/67438f8df14f0e41df1b55c6c21499ef.py", linha 8, em imprimir (math.sqrt (-1)) ValueError: erro de domínio matemáticoAplicação Prática: Dado um número, verifique se é primo ou não. import math def check(n): if n == 1: return False for x in range(2, (int)(math.sqrt(n))+1): if n % x == 0: return False return True n = 23 if check(n): print("prime") else: print("not prime") Resultado: primo
Com a ajuda do método sympy.sqrt() , podemos encontrar a raiz quadrada de qualquer valor em termos de valores e também em termos de expressão matemática simbolicamente simplificada.
Exemplo 1: from sympy import * val = 256 print("Value : {}".format(val)) sqrt_val = sqrt(val) print("Square root of value : {}".format(sqrt_val)) Resultado: Valor: 256 Raiz quadrada do valor: 16Exemplo # 2: Resultado: Valor: 8 Raiz quadrada do valor: 2 * sqrt (2)Início » Matemática » Como calcular a raiz quadrada de um número em Python
É possível realizar o cálculo da raiz quadrada de um número qualquer em Python de várias maneiras. Vamos mostrar neste tutorial três formas de realizar esse tipo de operação em um script. #1: Raiz quadrada com o método sqrt()O método sqrt() pertence ao módulo math, e esta é a forma mais recomendada para realizar o cálculo de uma raiz quadrada em Python. import math num = float(input("Entre com um número:\n")) raiz = math.sqrt(num) print(f'\nA raiz quadrada de {num} é {raiz}\n')Resultado: Entre com um número: 25 A raiz quadrada de 25.0 é 5.0Note que precisamos converter o valor digitado pelo usuário para float antes de armazená-lo na variável num, para usá-lo no cálculo posterior. #2: Raiz quadrada com o método pow()Outra forma de calcular a raiz quadrada de um número em Python é com o emprego da função matemática pow(). Basta empregarmos esta função para elevar o número à potência de 1/2 (0.5) e obteremos sua raiz. Resultado: Recomendamos o método sqrt() ao método pow() para este tipo de cálculo, pela simplicidade e precisão. #3: Raiz quadrada com o operador **Podemos também empregar o operador de exponenciação ** para calcular a raiz quadrada de um número, elevando o número em questão à potência de 1/2 (0.5): num = input("Digite um número:\n") raiz = float(num) ** 0.5 print(f'\nA raiz quadrada de {num} é {raiz}\n')Resultado: Entre com um número: 81 A raiz quadrada de 81.0 é 9.0Bônus: Raiz quadrada de números complexosPodemos também calcular a raiz quadrada de um número complexo em Python usando o método sqrt() do módulo cmath (especial para matemática com números complexos). Resultado: A raiz quadrada de (1+2j) é 1.27+0.79jÉ isso aí! Até o próximo tutorial de Matemática com Python!
|