第三题有大神帮忙看看错在哪吗
Topic source#修改了一下,已测试通过
index = s.index('.') #确认小数点后有几位
s = s.split(".")[0]+s.split(".")[-1] #s去掉小数点
DIGITS = {'0':0,'1':1,'2':2,'3':3,'4':4,'5':5,'6':6}
def char2num(s):
return DIGITS[s]
def func(x,y):
return 10 * x + y
return reduce(func,map(char2num,s))/(10**index) #小数点后面有几位,就除以10的几次方
- 1
铂公子
DIGITS = {'0':0,'1':1,'2':2,'3':3,'4':4,'5':5,'6':6}
def char2num(s):
num1 = s.split(".")[0]
num2 = s.split(".")[-1]
num = num1 + num2
print(num)
return DIGITS[num]
def func(x,y):
return 10 * x + y
return reduce(func,map(char2num,s))
#return map(char2num,s)
想请教一下,为什么return map(char2num,s) 调用char2num() 时,print输出是123456,而return reduce(func,map(char2num,s))调用时,结果就变成了11 ?