Discuss / Python / deliver homework

deliver homework

Topic source

金葛城

#1 Created at ... [Delete] [Delete and Lock User]

第三题

def str2float(s):
    for i in range(len(s)):
        if s[i]=='.':
            loc=i
    def digits(p):
        DIGITS={'0':0,'1':1,'2':2,'3':3,'4':4,'5':5,'6':6,'7':7,'8':8,'9':9}
        return DIGITS[p]
    pat1=reduce(lambda x,y:10*x+y,map(digits,s[:loc]))
    pat2=reduce(lambda x,y:x/10+y,map(digits,s[-1:loc:-1]))
    final=pat1+pat2/10
    return final

6啊,先找到小数点在字符串中的下标,通过下标将这个小数分成两部分(整数部分和小数部分)。

再加上楼主对切片的使用很灵性啊。

安迪博德

#3 Created at ... [Delete] [Delete and Lock User]

值得点赞


  • 1

Reply