Discuss / Python / thank you

thank you

Topic source

湖冰风

#1 Created at ... [Delete] [Delete and Lock User]
def char2num(s):
    return {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}[s]
    return reduce(lambda x,y:x*10+y,map(char2num,s.replace('.','')))/(10**s.find('.'))

湖冰风

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

计算整数时有误,修正后:

    def char2num(s):
        return {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}[s]
    return reduce(lambda x,y:x*10+y,map(char2num,s.replace('.','')))/(10**s[::-1].find('.') if s.find('.')!=-1 else 1)

北门玉米

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

if s.find('.')!=-1 else 1

请问此处的else 1是什么意思

湖冰风

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

除法后面是python的三目表达式,如果找不到.不是浮点数,就除以1


  • 1

Reply