Discuss / Python / 谢谢老师

谢谢老师

Topic source

夏蝉live

#1 Created at ... [Delete] [Delete and Lock User]
from functools import reduce
#首字母大写str.capitalize()
def normalize(name_str): return name_str.capitalize()
L1 = ['adam', 'LISA', 'barT']
L2 = list(map(normalize, L1))
p(L2)

# 返回L的累积
def prod(L): return reduce(lambda x,y : x*y, L)
p('3 * 5 * 7 * 9 =', prod([3, 5, 7, 9]))

def str2float(s):
    flag = 0
    #如果找到小数点就截掉,并标记位置
    if '.' in s:
        flag = s.index('.')
        s=s[:flag]+s[flag+1:]
    #输入一个char 返回一个 int 的内置函数
    def char_to_int(char):
            return {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}[char]
    #把str转换成Int
    tmp = reduce(lambda x,y : x*10+y, map(char_to_int,s))
    #有符号就返回符号
    return tmp if flag==0 else tmp/10**(len(s)-flag)

p('str2float(\'123.456\') =', str2float('123.456'))

27: ['Adam', 'Lisa', 'Bart'] 28: 3 5 7 * 9 = 945 29: str2float('123.456') = 123.456 请按任意键继续. . .


  • 1

Reply