Discuss / Python / 这几个课后作业都比较好搞,就是那个杨辉三角,还有那个圆盘不好理解

这几个课后作业都比较好搞,就是那个杨辉三角,还有那个圆盘不好理解

Topic source

#---------------------课后作业分隔线--------------------------- print ('---------------------------------课后作业分隔线---------------------------------')

def normalize(name): return name[:1].upper()+name[1:].lower()

测试:

L1 = ['adam', 'LISA', 'barT'] L2 = list(map(normalize, L1)) print(L2)

#课后作业二

def prod(L): return reduce(lambda x,y:x*y,[x for x in L])

print('3 5 7 * 9 =', prod([3, 5, 7, 9])) if prod([3, 5, 7, 9]) == 945: print('测试成功!') else: print('测试失败!')

#课后作业三

def str2float(s): return reduce(lambda x,y:x10+y,map(str2int,(s.split('.')[0])))+reduce(lambda x,y:x10+y,map(str2int,(s.split('.')[1])))/(10**len(s.split('.')[1]))#前面是对的,小数部分不好取

#return reduce(lambda x, y: x * 0.1 + y, map(str2int, s[-1:s.find('.'):-1] + '0')) #这个是倒序取,但是我前面的思路是取长度

#测试 print (str2float('123.456') ) print('str2float(\'123.456\') =', str2float('123.456')) if abs(str2float('123.456') - 123.456) < 0.00001: print('测试成功!') else: print('测试失败!')


  • 1

Reply