digits = {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}
def str2float(s):
t=len(s)
def char2num(s):
return digits[s]
def fn(x,y):
return x*10+y
if isinstance(s,str):
for i in range(len(s)):
if s[i]=='.':
t=i
s1=s[:t]
s2=s[t+1:]
return reduce(fn,map(char2num,s1))+reduce(fn,map(char2num,s2))*10**-len(s2)
else:
return '请输入字符串类型'
Sign in to make a reply
不开心去喝水
digits = {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}
def str2float(s):
t=len(s)
def char2num(s):
return digits[s]
def fn(x,y):
return x*10+y
if isinstance(s,str):
for i in range(len(s)):
if s[i]=='.':
t=i
s1=s[:t]
s2=s[t+1:]
return reduce(fn,map(char2num,s1))+reduce(fn,map(char2num,s2))*10**-len(s2)
else:
return '请输入字符串类型'