python 实现 math.log(x,base)

python 用闭包实现math.log(x,base)

#!/usr/bin/python3
# -*- coding: utf-8 -*-
import sys,math
import random
import pprint

def log(n,d):
    i = 0
    status = 0
    while True:
        if d**i==n:
            status=1
            break
        elif d**i<n<d**(i+1):
            break
        i+=1

    def test(level=100):
        if status == 1:
            return i
        start= 0
        k = i
        m = i+1
        while start<level:

            if n<d**((k+m)/2):
                m = (k+m)/2
            elif n==n<d**((k+m)/2):
                return (k+m)/2
            else:
                k = (k+m)/2
            start+=1
        return (k+m)/2
    return test

a = log(200,10)
print(a(20))

  

时间: 08-08

python 实现 math.log(x,base)的相关文章

由python的math.log想到的问题

result = math.log(243,3) print(result) 输出5.0 print("%f"%result) 还是输出5.0 看出问题了吗?对,没错.int(5.0) = 4????? 不只是这个,还有取余 5.0 mod 1 为 1????? 经过和同学的激烈讨论. 得出了这么一个结论. 其实result = math.log(243,3) ,返回的result是4.9999(具体多少个9)不清楚,总之不是我们觉得应该的5. 所以可以解答上面的疑惑了. 1.int(

python之math模块

1.math简介 >>>import math #导入math模块 >>>dir(math) #这句可查看所有函数名列表 >>>help(math) #查看具体定义及函数原型 2.常用函数 acos(x) # Return the arc cosine (measured in radians) of x. asin(x) # Return the arc sine (measured in radians) of x. atan(x) # Retur

(转)python中math模块常用的方法整理

原文:https://www.cnblogs.com/renpingsheng/p/7171950.html#ceil ceil:取大于等于x的最小的整数值,如果x是一个整数,则返回x copysign:把y的正负号加到x前面,可以使用0 cos:求x的余弦,x必须是弧度 degrees:把x从弧度转换成角度 e:表示一个常量 exp:返回math.e,也就是2.71828的x次方 expm1:返回math.e的x(其值为2.71828)次方的值减1 fabs:返回x的绝对值 factorial

python中math模块的常用详解

ceil:取大于等于x的最小的整数值,如果x是一个整数,则返回x copysign:把y的正负号加到x前面,可以使用0 cos:求x的余弦,x必须是弧度 degrees:把x从弧度转换成角度 e:表示一个常量 exp:返回math.e,也就是2.71828的x次方 expm1:返回math.e的x(其值为2.71828)次方的值减1 fabs:返回x的绝对值 factorial:取x的阶乘的值 floor:取小于等于x的最大的整数值,如果x是一个整数,则返回自身 fmod:得到x/y的余数,其值

Python的DEBUG LOG

一直在嵌入式行业,熟悉嵌入式的朋友都很了解嵌入式设备上DEBUG的麻烦,特别是一些缺乏断电工具和没有UI界面的设备.久而久之,开发一个新东西,首先就是要先搞定DEBUG手段.最近写了几个测试的python脚本用于跑些压力测试.找了些Python的DEBUG方法并加以处理,形成了方便使用的DEBUG手段. 其实Python的DEBUG LOG很简单很方便,相当于整辆车都做好了,就等你怎么开车了.而我们在C的嵌入式设备上,DEBUG都几乎需要自己造轮子,造车身.然而在Python中我们只需要impo

Math.log()对数的妙用

###对数log 的妙用... formatBytes(bytes) { if (bytes === '0' || isNaN(bytes)) return ''; var s = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB']; var e = Math.floor(Math.log(bytes) / Math.log(1024)); return (bytes / Math.pow(1024, Math.floor(e))).toFixed(1) + " &q

Python STL math&amp;cmath

Python标准库math math所提供的数学常量 pi 数学常量 pi,所属的变量空间为标准库math e 数学常量 e,e即自然常数,所属的变量空间为标准库math math库中常用的函数 三角函数 函数名 格式 功能 sin sin(x) 返回的x弧度的正弦值 cos cos(x) 返回的x弧度的余弦值 tan tan(x) 返回的x弧度的正切值 asin asin(x) 返回x的反正弦弧度值. acos acos(x) 返回x的反余弦弧度值. atan atan(x) 返回x的反正切弧

Scipy - Python library - Math tool - Begin

Introduction Scientific Computing Tools for Python. Seen in Scipy.org. Environment Linux, CentOS 7 with KDE, python 2.7 Installation 1 python -m pip install --upgrade pip 2 # Do not use sudo for the next command 3 pip install --user numpy scipy matpl

【python】math模块的使用

1 import math 2 print math.sin (0.5) 3 print math.cos (0.5) 关键点: 1.sin.cos等数学符号后面要加括号(),括号内的参数为弧度制表示法(我也忘了什么是弧度制了...) 2.调用sin.cos的时候,要用math.sin(),math.cos(),而不是sin(),cos(). !!!