大道至简,知易行难

大道至简 知易行难

复杂的事情简单去做,简单的事情重复去做,重复的事情用心去做,长期坚持,自然功成。——引言

在老师的建议下,我利用暑假前两周的时间系统的阅读了周爱民先生的《大道至简》,这本书的宗旨正如作者在书中提到的那样,他只想写一本“阐明软件工程的思想核心”的书。这本书要让读者很容易就读明白,还要很容易就想通,还要很容易就知道:工程其实很简单,只是大家把它做复杂了。

书中写的是作者在实践中总结的经验和道理。作者对软件工程相关的问题有许多感悟,并且能够生动的表达。这本书中最可贵的就是思想,仔细体会就有不一样的启发。我在这里列举书中的几个观点:留下历史记录,记录下自己的决策过程等,方便后来者;经验,是源于对过去的思考,而不是对过去的复制;不要压抑你团队成员的激情,他们提出自己的想法之后,要鼓励与引导,即使你认为不合理,或有错误,也要以引导的形式,或者干脆让他去犯这个“小错误”,从而让他在这个上面有更深刻的认识与印象。

由于自己还没有接触过公司的团队合作,没有参与过大型团体项目的开发,所以对于书中提到的“团队“的认知还较为浅显,在这里只是稍微提一下自己对于”团队“的理解。一个团队不但要有远期的目标,即共同的愿景;而且对短期的目标也要清晰,即里程碑。一个团队要注重整体目标,从全局把握上,某一局部出现问题之后,要能尽快发现,并迅速调整。

接下来我想提一下自己对于书中提及的”程序算法思想“的理解,目前我们已经系统的学习了C和C++,正处于自学JAVA阶段,对于计算机的编程语言也算是有了初步的了解。正如周爱民先生所说的那样:编程的根本——顺序,分支,循环;程序=算法+结构。所以编程的第一要务是先把事情分析清楚,事件先后的逻辑关系和依赖关系搞清楚,然后再去代码实现。积极工作和勤于思考都要占时间。算法是对一个程序的逻辑实现的描述,而结构是逻辑实现所依附的数据实体。

大一所接触的代码虽然较为简单,但是也有了一定的编程基础,正在逐步养成自己的编程习惯,《大道至简》这本书中提到的编程思想对我们来说无疑是指路明灯。对于大的编程算法——化繁为简,循序渐进。这意味着,也许可以,从这些小单元开始,启发式的构建逐步复杂化的过程,在头脑中有自己的清晰的逻辑思路,从而能够循序渐进的学习算法,完成算法。而不是一开始就直奔大型算法而去。

接触的编程语言多了之后,难免会将之进行比较,比较哪一种编程语言编写代码更为便利。在《大道至简》这本书中便给了我们答案:语言最重要的是设计目标。 设计目标决定了它用来做什么效率最高。而从程序员的角度来看,选择语言的标准,就是能够最高效的表达自己的思想。所以语言不分好坏,只是哪一种更适合罢了。

总之《大道至简》这本书总结的非常好,其中的一些想法一看就是多年经验的沉淀,虽然目前自己阅历较少,不能完全理解书中的某些观点,但是对于自己的算法思想还是有了很大的改变。大道至简,知易行难,明白认知事物的规律道理是一回事,能够做到做好是另外一回事,让我们在今后做人做事过程中,时时记住并体会。

转载于:https://www.cnblogs.com/zql98/p/9343648.html

<think>好的,我需要帮助用户编写一个Python程序,从键盘读取输入并将其打印三次,每次在新行上。首先,我得理解用户的需求。用户想要一个程序,能够接收来自键盘的输入,然后将这个输入内容重复输出三次,每次占据单独的一行。 接下来,我需要考虑如何从键盘读取输入。在Python中,最常用的方法是使用input()函数。这个函数会等待用户输入,直到用户按下回车键。输入的字符串会包括用户输入的内容,但不包括最后的换行符。所以,我需要用input()来获取用户输入的内容,比如user_input = input()。 然后,用户需要将输入内容打印三次,每次换行。打印三次的话,可以用三次print语句,或者用一个循环。比如,使用for循环三次,每次打印user_input。或者更简洁的方法是用print函数结合字符串操作,比如将字符串加上换行符乘以三次,然后去除最后一个换行符。不过,更简单的方法可能是直接使用三次print(user_input),因为每次print默认会换行。 不过,用户可能希望输入的内容在不同的行上,而每次打印单独一行。比如,如果用户输入"hello",输出应该是: hello hello hello 这种情况下,每个print语句都会自动换行,所以三次print(user_input)就可以满足要求。或者,也可以使用一个print语句,通过参数设置,例如print(user_input + '\n' + user_input + '\n' + user_input),不过这样可能不够灵活,尤其是当需要重复次数较多的时候。 所以,更高效的方法是使用循环结构。例如,使用for循环三次,每次打印。例如: for _ in range(3): print(user_input) 这样代码简洁,也容易调整重复次数,比如用户如果想改变次数,只需要修改range的参数即可。 不过,用户的问题明确是三次,所以可以写三次print,或者循环三次。两种方法都可以,但循环更符合编程习惯,尤其是当次数较多时。 然后,综合这些步骤,整个程序的流程应该是: 1. 读取输入:user_input = input("Enter something: ") 或者不加提示,直接input() 不过用户可能不需要提示信息,所以直接user_input = input() 2. 打印三次,每次换行:用循环或者三次print。 所以,完整的代码可能如下: user_input = input() for _ in range(3): print(user_input) 或者更简洁: print((input() + '\n') * 3) 不过这样可能会在最后多一个换行符,因为乘以三后,三个输入加上换行符,再打印的话,可能最后会有一个多余的换行。例如,如果输入是"a",那么结果是: a a a (因为每个a后面有一个换行,三个的话是三个换行,所以总共有三个a,每个占一行。) 不过用这种方式的话,可能需要调整。比如,将输入的内容和换行符组合,然后乘以三次,然后rstrip去掉最后的换行。不过这可能比较复杂。 或者,可以使用sep参数,例如: user_input = input() print(*[user_input]*3, sep='\n') 这里,将user_input重复三次生一个列表,然后用*解包,sep设置为换行,这样三个元素之间用换行分隔,达到每个占一行的效果。 不过对于初学者来说,可能循环更容易理解。 所以,可能给出的代码是: user_input = input() for _ in range(3): print(user_input) 这样代码清晰,容易理解,也符合用户的需求。 另外,需要测试一下,比如输入一个字符串后,是否会正确输出三次,每次换行。比如输入"test",输出: test test test 是的,这样三次print每次都会换行,正确。 现在,还需要检查是否符合用户的要求,是否有其他需要考虑的地方。例如,是否需要处理输入的空白字符,或者是否需要提示用户输入。但用户的问题中没有提到需要提示,所以直接读取输入即可。 因此,最终的Python程序应该如上述循环方法所示。</think>以下是实现从键盘读取输入并打印三次的Python程序: ```python # 读取键盘输入 user_input = input() # 循环打印三次,每次换行 for _ in range(3): print(user_input) ``` **代码说明**: 1. `input()`函数捕获键盘输入内容[^2] 2. `for`循环执行3次迭代,每次用`print()`输出时自动添加换行符 3. 默认情况下`print()`会在输出后添加换行符,因此无需额外操作即可实现换行效果 **示例执行**: 输入:`Hello` 输出: ``` Hello Hello Hello ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值