#利用map/reduce實現str到float的轉換
from functools import reduce
def char2num(s):
dicts = {'0':0,'1':1,'2':2,'3':3,'4':4,'5':5,'6':6,'7':7,'8':8,'9':9}
return dicts[s]
def strToFloat(s):
if not isinstance(s,str):
raise TypeError('param type error')
else:
for i in range(len(s)):
if s[i]=='.':
n=i
break
s1=s[:n]
s2=s[n+1:]
a = reduce(lambda x,y:x*10+y,map(char2num,s1))
b = reduce(lambda x,y:x*10+y,map(char2num,s2))/pow(10,(len(s)-n-1))
return a+b
print(strToFloat('164234.641212'))
#閉包函數實現計數器
def counter():
li=[0]
def coun():
li.append(li[-1]+1)
return li[-1]
return coun
s = counter()
print(s(),s(),s())
Python 小練習-----
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.