Discuss / Python / 来交作业啦

来交作业啦

Topic source

第一份作业

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

第二份作业

def prod(L):
    def chengji(a,b):
        return a * b
    return reduce(chengji, L)

第三份作业

def str2float(s):
	DIGITS = {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}
	def char2num(s):
		return DIGITS[s]
	def fn(x,y):
		return x*10+y
	L=[k for k,v in enumerate(s) if v=='.'] #小数点在str中的位置
	l=len(s[L[0]+1:])#获得小数点后有几位小数
	return reduce(fn, map(char2num,s[:L[0]]))+reduce(fn, map(char2num, s[L[0]+1:]))/10**l #小数点前按照正常算法,小数点后数字按照正常算法算完后需要用除法变为小数

xiaolugo

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

逆序的形式可以换成这种知道长度用乘方的形式

number = reduce(f1,map(c2n,temp[0])) + reduce(f1,map(c2n,temp[1]))/(10**len(temp[1]))

  • 1

Reply