lubcat 发表于 2017-3-7 16:41:27

哎哟我去……求指点迷津

关于递归,
看了答案觉得很easy,but 自己就是想不出来。{:10_250:}
怎么下手处理?

关于函数,
参数一般如何选取,哪些因素可以成为参数,以及参数个数如何确定。



做题时,把握不住要素,或者说,如何形成解题思路{:10_245:}

求大佬指点一二,

小甲鱼 发表于 2017-3-7 16:58:38

时间有限,我就直奔主题了:函数的参数的意义是作为函数的“接口”存在。在程序开发中,函数可以作为“黑盒”来考虑,也就是说函数的调用者不需要知道函数的实现细节,只需要知道函数的功能,参数和返回值即可。

打个现实中的比方,比如你去 4S 店买一辆车,通常会让你选择相关的配置,比如什么尺寸的论坛,什么样式的轮毂,车身颜色,手动档/自动挡,是否要全景天窗等等……这些提供的选项就是参数,而生产的车间就是函数,你录入这些“参数”之后,“函数”就会在十几个工作日之后给你“返回”一辆根据你的定制而成的车来。

一言以蔽之:多做练习就好!{:10_256:}

编程新血 发表于 2017-3-7 19:10:17

递归,关键在找规律,如果不能节省运算,不如用迭代。

函数的参数,初中方程式中的未知数就是函数的参数,方程式就是函数。
一般函数体不变,变化的是参数值。

解题思路,除算法以外,需要多做题。

Luse 发表于 2017-3-7 19:15:57

{:10_256:}作为一个和你一样的新手,我也是这样,我的方法就是多看,拆脚本,看别人怎么写的,看多了就知道还可以这么写,然后这个过程中会逐步形成自己的思维习惯

lubcat 发表于 2017-3-7 21:27:55

Luse 发表于 2017-3-7 19:15
作为一个和你一样的新手,我也是这样,我的方法就是多看,拆脚本,看别人怎么写的,看多了就知道 ...

so 你怎么做课后题的?{:10_312:}

lubcat 发表于 2017-3-7 21:30:00

编程新血 发表于 2017-3-7 19:10
递归,关键在找规律,如果不能节省运算,不如用迭代。

函数的参数,初中方程式中的未知数就是函数的参数 ...

课后题一般会描述题目,主要环节可以了解,实现方法不好确定。
这个只能积累吗{:10_245:}

lubcat 发表于 2017-3-7 21:35:10

小甲鱼 发表于 2017-3-7 16:58
时间有限,我就直奔主题了:函数的参数的意义是作为函数的“接口”存在。在程序开发中,函数可以作为“黑盒 ...

一个问题的要素可以很多,但未必都设置为形参。so 形参 应该 是贯穿问题的主线咯?

就是遇到习题不会,也不能总看答案,
但自己的确找不准思路和方法

Luse 发表于 2017-3-7 22:19:36

lubcat 发表于 2017-3-7 21:27
so 你怎么做课后题的?

你说的是二进制那题吗0.0
#! /usrr/bin/python3
# -*- coding=utf-8 -*-
tmp = input('请输入要转换的数:');
num = int(tmp)

def get2(argue) :
        s = argue%2;
        if s == 0 :
                argue = argue/2
                print('0')
        else :
                argue = (argue-1)/2
                print('1')
        return argue
while num != 0:
        if num == 1 :
                print('1')
                break
        else:
                a = get2(num)
                num = a
这是我自己写的。嗯确实很差……本来想把值传给全局变量的数组,但是不知道怎么在子函数中把值传递给全局变量的数组,一直在报错,就去看老师的答案了{:10_266:}
不过我看了记下来,下次就会了

lubcat 发表于 2017-3-7 23:13:08

Luse 发表于 2017-3-7 22:19
你说的是二进制那题吗0.0

这是我自己写的。嗯确实很差……本来想把值传给全局变量的数组,但是不知道 ...

num可以是0啊……。虽然没意思……

Luse 发表于 2017-3-7 23:54:09

lubcat 发表于 2017-3-7 23:13
num可以是0啊……。虽然没意思……

你可以试试,我记得如果选0的话好像是会有报错的{:10_243:}不过这脚本当时因为思路不清晰,最开始的时候陷入了死循环,然后慢慢改成这样的,感觉写这些要对整个过程有非常系统的了解,才能写出最合适的来,
其实我和老师的已经接近了,但是老师比我多想一步,就简单很多。

18813034116 发表于 2017-3-8 12:09:19

举个例子,如果你想写一个女朋友,那么这个函数的参数可以是姓名,胸围,臀围,身高,发型,性格等,但是,你给函数设定了这些参数,在函数内部就需要对这些参数进行处理,不然这些参数就没有存在的意义。

pl_014 发表于 2017-3-8 16:44:54

本帖最后由 pl_014 于 2017-3-8 16:56 编辑

关于递归,一般的问题是很难体现递归的意义所在,但是涉及树型数据结构(比如具有父子关系的对象集合)的时候,递归的意义也就有了,甚至可能是在你不经意间发生的。初期不理解递归也是正常的,实在不理解的地方可以先放放,以后在接触这类数据结构的时候再慢慢体会就好了。

lubcat 发表于 2017-3-8 20:42:20

Luse 发表于 2017-3-7 23:54
你可以试试,我记得如果选0的话好像是会有报错的不过这脚本当时因为思路不清晰,最开始的时候 ...

{:10_291:}
看来我还要晕一段时间。

lubcat 发表于 2017-3-8 20:43:22

18813034116 发表于 2017-3-8 12:09
举个例子,如果你想写一个女朋友,那么这个函数的参数可以是姓名,胸围,臀围,身高,发型,性格等,但是, ...

如此说来,最看重的方面就可以设置为参数,
其它可以设置 为函数中的变量

lubcat 发表于 2017-3-8 20:44:21

pl_014 发表于 2017-3-8 16:44
关于递归,一般的问题是很难体现递归的意义所在,但是涉及树型数据结构(比如具有父子关系的对象集合)的时 ...

树型结构……
那么迭代适合什么类型呢{:10_257:}

18813034116 发表于 2017-3-8 22:24:30

这么想有点主观,因为很难有什么标准来衡量那些变量是否重要。你也可以这么想,需要随时改变值的就设为参数,不用随时更改却又用的上的就设为变量

lubcat 发表于 2017-3-9 15:35:29

18813034116 发表于 2017-3-8 22:24
这么想有点主观,因为很难有什么标准来衡量那些变量是否重要。你也可以这么想,需要随时改变值的就设为参数 ...

还是要多看多试才有体会

pl_014 发表于 2017-3-9 21:31:46

lubcat 发表于 2017-3-8 20:44
树型结构……
那么迭代适合什么类型呢

迭代的范围大了,许多容器都有迭代器,数学里面还有迭代公式等等
页: [1]
查看完整版本: 哎哟我去……求指点迷津