发表时间:2022-03-26来源:网络
最近在和学员的沟通中,发现不少初学者面临这样一个问题:
了解了一些基本的语法,看得懂书上的示例,但是面临一个新的编程问题时,依然感到无从下手。究其原因,主要是两个方面:
➢ 整体上,不晓得如何把问题转化为程序语言。
➢ 细节上,不知道用什么方法去实现某个功能。
比如这道题,大意是:生成 200 个数字码,每个数字码由8位字母组成(包括大小写)。
当然题目本身难度不高,不过如果你是一个刚刚接触编程不久,才掌握条件判断、循环、列表的新手来说,还是有点小挑战的。
以这题来说,有人是直接对生成一串字符没有想法,不知道怎么办。
更多的人可能会有些思路,但在具体的环节,比如如何产生随机字母、如何拼成字符串、如果判断重复上遇到麻烦。那么在开发程序的时候,怎么去解决类似的问题,并且找到合适的方法呢?我简单分享下几点经验:
有个关于数学家当消防员的笑话:
消防队长问:如果巷子里一个货仓着火了怎么?数学家答:把消火栓接到软管上,打开水龙头,把火浇灭。队长说:完全正确!那如果你来到巷子发现货仓没着火怎么处理?数学家答:把货仓点着,这样问题简化到一个已知问题上了。抛开笑话本身的夸张,作为一个程序员,你也需要有类似的逻辑思维:分解和转化问题。
➢ 生成 200 个数字码 => 生成 1 个数字码,循环 200 次
➢ 生成 1 个 8 位数字码 => 生成 1 个字符,循环 8 次
➢ 生成 1 个随机字符 => 生成一个随机数,转成字符
生成一个随机数,这是个我们很早就提过的一个问题,用 random 模块即可实现。那么这个问题的思路就已经比较清楚了。剩下的就是处理好过程中的细节:如果从数字转换为字符、如何循环、如何拼接等等。
不过肯定会有同学说,我都不知道数字还能转成字符。也会有同学表示,其实根本不用绕这个弯,明明可以直接生成随机的字符。没错,就和点燃货仓的数学家一样,我们这个逻辑没问题,但实际看来还是有点二,所以另外一个重要的经验。
虽然大多数程序员在大学里的专业属于计算机科学(science),但在企业中的角色却是工程师(engineer)。
也就是说,编程是一项更偏向实践而非理论的工作。我们的目标是解决问题,需要掌握的是解决问题的手段和方法。对于程序员来说,搜索就是非常有效的一种寻找解法的途径。但可能很多没有编程经验的同学会觉得,学编程时通过搜索找到一个解法是一种“作弊”的方式,自己并没有真正理解怎么解决问题。
这种想法大可不必。即使经验丰富的程序员,也会在处理问题之前,通过搜索来寻找有没有更合适的解决方案。
通过搜索找到解法这个行为本身会比写出这个小程序对你来说更有价值。
就优惠码这个问题来说,通过一些简单的搜索,就可以发现不少类似的问题解法。
有同学曾经问过:你们的教程是不是包括了找工作需要的知识点,这也是一种类似的误区。我们不是去参加高考,按照考纲复习完备,然后再上考场。
现在的计算机行业可以说比任何一个行业的更新都要快,你永远不可能“完全”掌握某个领域的知识之后再去开发,你需要不断去面对新的技术和新的问题。
所以编程相关的知识是变化的,要掌握的是不变的解决方法。

最后,不管你是转行也好,初学也罢,进阶也可,如果你想学编程~
【值得关注】我的C/C++编程学习专栏:
上一篇:初学者应当怎样学习ebpf?
新疆联通网上营业厅官方版(又名中国联通)下载v12.8 安卓客户端
118.17MB |生活服务
联通手机营业厅关怀版(又名中国联通)下载v12.8 安卓最新版
118.17MB |生活服务
28hse香港租屋网APP下载v3.14.0 手机版
51.07MB |生活服务
唐山联通掌上营业厅(中国联通)下载v12.8 安卓版
118.17MB |生活服务
新货多app下载v2.6.2 安卓最新版
65.91MB |生活服务
东梨短剧免费正版app下载v4.0.3 安卓版
61MB |影音播放
甘草云管家软件下载v4.0.8 安卓版
65.3MB |商务办公
家超app下载v2.0.7 安卓版
130.88MB |系统工具
2022-03-26
2022-03-26
2022-03-26
2022-03-26
2022-03-26
2022-03-26
2022-03-26
2022-03-26
2022-02-15
2022-02-14