Python二进制转化为十进制数学算法

网上大多是直接用函数转化二进制的,下面的写法是自己的数学算法

# binary意为二进制
binary = input("请输入您的二进制组\n")
binary_ = list(binary)
bin_ = len(binary_)

power_ = 0

for i in range(bin_):  # 计算第一个二进制
    if binary_[i] == '1':
        length = bin_ - 1 - i  # 算背后还有几位
        power = 1
        while length > 0:
            length -= 1
            power = power * 2
        power_ = power + power_

print(power_)

数学能力对于编程来说也是至关重要的,希望大家可以在闲暇之余多做一些算法题,锻炼自己!

同时在这里也给大家分享一个好用的内置函数map( )

Python的手册中是这样介绍的:

map( function , iterable , / , *iterables )

Return an iterator that applies function to every item of iterable, yielding the results.

返回一个迭代器,该迭代器将函数应用于可迭代的每个项

*迭代器:迭代器的作用是用来访问容器(用来保存元素的数据结构)中的元素,所以使用迭代器,我们就可以访问容器中里面的元素。没错!这和访问数组这个序列的指针一样,因为数组范围内的指针就是迭代器的一种

例:map( int , string[ i ])

将string的元素一个个转化为int类型

你可能感兴趣的:(python,开发语言,算法)