def str(s):
try:
s1=s[:s.index('.')]
s2=s[s.index('.')+1:]
return te([a for a in map(char2num,s1)],'+')+te([b for b in map(char2num,s2)],'-')
except ValueError:
print('should float str')
def te(l,mode)
b=0
n=1
for a in l:
if mode=='+':
b+=a*(10**(len(l)-n))
else:
b+=a*(0.1**n)
n+=1
return b
def char2num(s):
digits = {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}
return digits[s]
Sign in to make a reply
而今迈步从头越
def str(s):
try:
s1=s[:s.index('.')]
s2=s[s.index('.')+1:]
return te([a for a in map(char2num,s1)],'+')+te([b for b in map(char2num,s2)],'-')
except ValueError:
print('should float str')
def te(l,mode)
b=0
n=1
for a in l:
if mode=='+':
b+=a*(10**(len(l)-n))
else:
b+=a*(0.1**n)
n+=1
return b
def char2num(s):
digits = {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}
return digits[s]