# -*- coding: utf-8 -*- from functools import reduce d = {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9, '.': '.'} N = [0] def char2nums(ch): return d[ch] def add(num1, num2): if num2 == '.': N[0] = 1 return num1 if N[0] == 0: return num1 * 10 + num2 if N[0] >= 1: num1 = num1 + num2 *0.1** N[0] N[0] += 1 return num1 def str2float(s): x = reduce(add, map(char2nums, s)) N[0] = 0 return x
Sign in to make a reply
True_Believer