ooxx7788 发表于 2017-5-16 17:22:09

Python: 每日一题 47

本帖最后由 ooxx7788 于 2017-5-19 08:52 编辑

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

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

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


**** Hidden Message *****

jerryxjr1220 发表于 2017-5-16 17:53:28

仅仅这些条件太少了吧?
如果只是这些条件,最简单的办法就是构造一个y=a*x+b*x+c*x+d*x+e*x的函数,然后分别把(300,2),(90783,4),(123321,0)等5组数代入,5个方程5个未知数,然后就得到了y=a*x+b*x+c*x+d*x+e*x的函数。
但是,实际情况肯定不是这样的。。。

ooxx7788 发表于 2017-5-16 18:24:04

本帖最后由 ooxx7788 于 2017-5-16 18:26 编辑

jerryxjr1220 发表于 2017-5-16 17:53
仅仅这些条件太少了吧?
如果只是这些条件,最简单的办法就是构造一个y=a*x+b*x+c*x+d*x+e*x的函数,然后 ...

请仔细读题,仔细观察函数与返回值的关系,理解题意。本题的信息就这么多,且足够解题。

jerryxjr1220 发表于 2017-5-16 18:47:56

难道是点这串数字中有多少个?

jerryxjr1220 发表于 2017-5-16 18:48:11

多少个圈?

jerryxjr1220 发表于 2017-5-16 18:49:32

6,9,0一个圈,8两个圈,其他没有圈…

ooxx7788 发表于 2017-5-16 18:49:43

jerryxjr1220 发表于 2017-5-16 18:48
多少个圈?

{:10_336:}

鸢尾花骑士 发表于 2017-5-16 21:26:44

getNum(300) #-> returns 2
getNum(90783) #-> returns 4
getNum(123321) #-> returns 0
getNum(89282350306) #-> returns 8
getNum(3479283469) #-> returns 5

第一个300,两个0,也就是两个孔洞,return 2
第二个90783,9和0一个孔,8两个孔,return 4
第三个123321,没有孔洞,return 0
第四个 有898006 八个孔 return 8
第五个 3479283469 以此类推 也就是有五个孔洞,所以 return 5

鸢尾花骑士 发表于 2017-5-16 21:33:50

在函数内先初始化sum=0,然后对参数n的每一位数做判断,如果为6、9、0,则sum +=1,为8则sum +=2,最后return sum。

当回首遇上转身 发表于 2017-5-16 21:53:10

...有象形文字的赶脚

jerryxjr1220 发表于 2017-5-16 22:11:48

本帖最后由 jerryxjr1220 于 2017-5-16 22:13 编辑

def get_num(n):
    num_dict = {'0':1, '6':1, '8':2, '9':1}
    return sum()

冬雪雪冬 发表于 2017-5-17 09:14:43

这道题更像脑筋急转弯。

进击的小蜗牛 发表于 2017-5-17 09:50:38

我遇到了一个假的编程题{:10_269:}

776667 发表于 2017-5-17 10:06:56

脑筋急转弯+1...

gopythoner 发表于 2017-5-17 10:14:14

从数学上来讲,这个题目就有问题,给了5组数,那我假设这个函数是个5元一次方程,那我可以代入这5个值进去得到一个方程
问题是,这个方程只能满足这5组数字,这种方程并不唯一

gopythoner 发表于 2017-5-17 10:16:48

冬雪雪冬 发表于 2017-5-17 09:14
这道题更像脑筋急转弯。

{:9_227:}传说中的大学生无解,而幼儿园的小朋友秒解的数圈圈图文题

ooxx7788 发表于 2017-5-17 10:30:20

gopythoner 发表于 2017-5-17 10:16
传说中的大学生无解,而幼儿园的小朋友秒解的数圈圈图文题

哈哈,连续出了几天的计算题了。突然转个画风,打破一下定势思维。

jonah_ren 发表于 2017-5-18 14:53:11

应该是这串数字所包含“孔洞“的数量吧
0,6,9->1
8->2

matthew.liao 发表于 2017-5-19 00:49:51

新手
dict1={"0":1,"6":1,"8":2,"9":1}
def getNum(number):
    sum=0
    l=[]
    for i in number:
      l.append(i)
    print(l)
    for x in dict1:
      for y in l:
         if x==y:
                sum=sum+dict1
    #return sum
    print(sum)
number=input("Pls enter a number: ")
tt=getNum(number)

matthew.liao 发表于 2017-5-19 00:59:31

jerryxjr1220 发表于 2017-5-16 22:11


大神,真牛{:5_101:}
页: [1] 2 3
查看完整版本: Python: 每日一题 47