每天开心一点

Python: 每日一题 47

2017-11-27 13:34:00    六月    627    来源: http://bbs.fishc.com/thread-87288-1-1.html

考验翻译水平的时候到了。

在一座远古的遗迹中,一群考古学家发现了一个有着许多 孔洞的神秘函数,名叫get_num(n)。他们试着往其中加入一些参数调用这个函数,得到以下结果:
  1. getNum(300) #-> returns 2
  2. getNum(90783) #-> returns 4
  3. getNum(123321) #-> returns 0
  4. getNum(89282350306) #-> returns 8
  5. getNum(3479283469) #-> returns 5
复制代码


考古学家给这个答案弄得一脸懵逼。就在陷入绝望之际,伟大的 超级牛逼的程序员出现了。你能够理解这个神秘函数,并且重写它吗?


def get_num(n):

  1.     return sum({'0': 1, '6': 1, '9': 1, '8': 2}.get(d, 0) for d in str(n))