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:
O resultado é mais próximo à resposta correta (
Depois 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:
while True: print(x) y = (x + a/x) / 2 if y == x: break x = yPara 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
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:
Onde epsilon tem um valor como 0.0000001, que determina a proximidade desejada entre x e y.
A função sqrt() é uma função embutida na linguagem de programação Python que retorna a raiz quadrada de qualquer número.
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.
Abordagem: execute um loop de 2 a sqrt (n) e verifique se algum número no intervalo (2-sqrt (n)) divide n.
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.
Sintaxe: sqrt (val)
Parâmetros:
val - É o valor no qual a operação de raiz quadrada deve ser realizada.Retorna: Retorna a raiz quadrada em termos de valores e expressão matemática simbolicamente simplificada que corresponde à expressão de entrada.
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:
from sympy import * val = 8 print("Value : {}".format(val)) sqrt_val = sqrt(val) print("Square root of value : {}".format(sqrt_val))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.
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.
O método pow() também pertence ao módulo math.
Resultado:
Entre com um número: 49 A raiz quadrada de 49.0 é 7.0Recomendamos 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 complexos
Podemos 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).
Veja o exemplo a seguir:
Resultado:
A raiz quadrada de (1+2j) é 1.27+0.79jÉ isso aí! Até o próximo tutorial de Matemática com Python!
- Ciência de Dados
- Matemática
- Python