Discuss / Python / 好多函数都不知道,还是得看别人的作业或上网搜

好多函数都不知道,还是得看别人的作业或上网搜

Topic source

第一题

def normalize(name):
	return str.capitalize(name)

第二题

def prod(L):
	def cheng(a,b):
		r = 0
		for x in range(b):
			r+=a
		return r
	return (reduce(cheng,L))

第三题

DIGITS = {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}

def str2float(s):
	def sum(a,b):
		return a*10+b
	def str2num(s):
		return DIGITS[s]
	n = s.index('.')
	s1=reduce(sum, map(str2num, s[:n]))
	s2=reduce(sum, map(str2num, s[n+1:]))/ 10**(len(s)-n-1)
	return s1+s2

第二题的解题思路, 是在用循环加法, 没有用用乘法

谢谢,我也是看了别人看了别人的作业或网上搜的的答案参考的。

第三题是这么多答案中,很直观且需要学习新函数不多的解法。


  • 1

Reply