Obtenir logarithme sans mathématiques journal python

Je suis en train d'apprendre Python et je dois faire un script pour générer le résultat du journal.

Je sais que de base du log x = résultat

Puis j'ai fait mon code.

def log(x, base):
log_b = 2
while x != int(round(base ** log_b)):
    log_b += 0.01
    print log_b
return int(round(log_b))

Mais il fonctionne très lentement. Je peux utiliser une autre méthode? merci!

  • Bien sûr, il existe de nombreux algorithmes. Que diriez-vous de faire quelques recherches sur certains de ceux-ci, et de venir poser une question spécifique si vous avez besoin d'aide pour comprendre un?
  • cela devient ridicule...
  • Je suppose que c'est pour le collège d'affectation. Certains professeurs refusent de laisser leurs élèves d'utiliser le standard libs.
  • Pour être honnête, vous n'avez pas à apprendre des choses comme cela, sauf si vous implémentez des choses (mal) pour vous-même la première fois
  • pourquoi ne pas passer par en.wikipedia.org/wiki/Natural_logarithm , il liste plusieurs méthodes pour le calcul de journal et d'essayer de les mettre en œuvre toutes, et ensuite poser des question si ça ne marchait pas
  • Je pourrais jurer que j'ai vu une question identique aujourd'hui, mais je ne le trouve pas... ah, nous y voilà: stackoverflow.com/questions/13207854/... bien, que l'on avait cassé le code si.

InformationsquelleAutor dragon_ball | 2012-11-03