Discuss / Python / 第三题

第三题

Topic source

___iFancy

#1 Created at ... [Delete] [Delete and Lock User]

零基础入门也有好几天了 也交个作业吧:

def str2float(s):

    def f1(x,y):

        return x*10+y

    def f2(x,y):

        return x/10+y

    for i in range(len(s)):

        if s[i] == '.':

            n = i

    integer=reduce(f1,map(char2num,s[:n]))

    decimal=reduce(f2,map(char2num,s[-1:n:-1]))

    return integer+decimal/10

___iFancy

#2 Created at ... [Delete] [Delete and Lock User]

#补充一下 前面还有:

from functools import reduce

DIGITS = {'0':0,'1':1,'2':2,'3':3,'4':4,'5':5,'6':6,'7':7,'8':8,'9':9}

def char2num(s):

    return DIGITS[s]


  • 1

Reply