Python如何在不用int函数的情况下将字符型数字转换成int型

话不多数直接上代码

# __author__:       Super keer    
#     _data_:           2018/7/26
from functools import reduce
# 上面先导入了一个内置函数包,函数的作用下面有详细介绍


# 这是一个可以让字符型数字转换成,int类型的封装方法,
def run(str):
    # 函数里面先定义一个函数将要转换的,字符型数字,逐个转换成,int型
    # 这个函数是放在map函数里面的
    def myint(strx):

        # 这个列表让我们用来比对,字符数字
        list = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]
        for x in list :
            if strx==x :
                return list.index(x)

    # 这个函数是放在reduce函数,第一个参数里面的
    # 它的作用是让map函数生成的,整形数字加在一起
    def num(x,y):

        return x*10+y

    # map 函数可以放两个形参,第一个,放方法,第二个放字符型数字,也就是run()的参数
    # map 函数会把第二个参数的每一位,去放在第一个函数里面执行并且返回一个可以遍历的对象
    # 我们用strs来接受它,放入reduce函数的第二个参数
    strs = map(myint, str)
    """reduce函数和map函数差不多,但是它会让,第二个参数的所有数相加"""
    number = reduce(num, strs)
    # 返回转换完成的数字和类型,你何以运行run函数,拿一个变量来接受它
    return number

猜你喜欢

转载自blog.csdn.net/keer1303242749/article/details/81226795