Discuss / Python / 作业三

作业三

Topic source

青之幻想

#1 Created at ... [Delete] [Delete and Lock User]
def str2float(s):
    def ch2num(s):
        return {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}[s]

    def fn(x,y):
        return x * 10 + y

    def str2int(s):
        return reduce(fn,map(ch2num,s))
    dot = 0
    flag = 1
    for ch in s:
        if ch == '.':
            flag = 0
            break
        dot+=1
    if flag == 1 :
        return     str2int(s)
    return str2int(s[:dot]) + str2int(s[dot+1:]) / pow(10, len(s[dot+1:]))

  • 1

Reply