Meu amigo Vicente Marçal me escreveu:
Bem, sei que és professor de Python, além de amante da linguagem e, por isso, acabei fazendo pesquisas sobre ela e estou estudando por conta, mais por hobby do que por qualquer outra coisa. Então, num tempinho livre que vc tiver, avalie esse meu pequeno script o qual disponibilizei na comunidade Viva o Linux:
http://www.vivaolinux.com.br/script/Raizes-de-Funcao-Quadratica, ele é bem simples, mas gostaria muito de sua opinião a respeito.
Eu respondi, e pedi a ele autorização para publicar minha resposta aqui. Como ele autorizou, lá vai. Vamos começar pelo arquivo, baskara.py:
# -*- encoding: utf-8 -*- ''' Funções matemáticas para equações do segundo grau. ''' from math import sqrt def baskara(a,b,c): ''' Função que fornece as raízes de uma equação do segundo grau. No caso de não haver raízes, retorna uma tupla vazia. Exemplos: >>> baskara(1,5,4) (-1.0, -4.0) >>> baskara(1,4,4) (-2.0,) >>> baskara(4,4,4) () >>> baskara(0,4,2) # se a é zero, temos uma equação do primeiro grau (-0.5,) ''' a,b,c=float(a),float(b),float(c) if(a==0):return (-c/b,) delta=b**2-4*a*c if delta<0:return () if delta==0:return (-b/(2*a),) return ((-b+sqrt(delta))/(2*a),(-b-sqrt(delta))/(2*a)) if __name__=="__main__": # Se rodou o arquivo diretamente, sem importar, roda os testes. import doctest doctest.testmod()
E meus comentários:
Cara, para que tanto underline? O underline no python indica que algo é especial. Underlines no começo indicam algo privado, em que você não deve mexer. No começo e no fim, indicam um nome especial, criado pela linguagem. No caso de sua função, não há necessidade de underline em nada, nem no nome da função, nem nos parâmetros.
Segue anexa minha implementação. Os pontos a notar:
1. Docstring. Aquele formato de comentários que eu estou usando serve para que o Python entenda que eles são documentação. Coloque meu arquivo em algum lugar em sua máquina, rode o Python e execute:
import baskara help(baskara)
Você vai entender.
2. Doctest. Se você reparar, na docstring da função há um trecho de exemplo que parece uma sessão do shell interativo. Está lá assim de propósito. Esperimente quebrar a função. Por exemplo, modifique a linha que calcula o delta, trocando o número 2 por 3. Em seguida execute:
python baskara.py
Ele vai rodar os testes automáticos. Você deve ver três erros.
E é isso aí, boa sorte com o Python, é uma linguagem que vale a pena estudar.
Cara eu odeio matematica principalmente essa formula de baskra;
Hoje tenho prova dessa merda e não sei o que eu vou fazer
caranbaaaaaaaaaaaaaaaa!!!!!!!!
bjbj
adorei essa formula que baskara enventou
Eu fiz um site em php que resolve equações de segundo grau passo a passo.
Veja:
http://manuelhinojosa-pt.blogspot.com/2008/11/equaes-de-segundo-grau-passo-passo.html
ééé… um idioma totalmente desconhecido brother!!!
=D, Vô vê se acho alguma coisa no google sobre a nova língua!
Abraços…
Realmente muito útil! Estava precisando destas dicas para minha faculdade e este post caiu como uma luva! Valeu…