首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何精通python函数?实例演练才是最好的办法

解一元二次方程

解一元二次方程,是初中数学中的基本知识,一般来讲解法有:公式法、因式分解法等。读者可以根据自己的理解,写一段求解一元二次方程的程序。

最简单的思路就是用公式法求解,这是普适法则(普世法则?普适是否等同于普世?)。

参考代码:

保存为 20501.py,并运行之:

能够正常运行,求解方程。

但是,如果再认真思考,发现上述代码是有很大改进空间的。至少我发现:

如果不小心将第一个系数(a)的值输入了 0,程序肯定会报错。如何避免之?要记住,任何人的输入都是不可靠的。

结果貌似只能是小数,这在某些情况下是近似值,能不能得到以分数形式表示的精确结果呢?

复数,Python 是可以表示复数的,如果 delta

读者是否还有其它改进呢?你能不能进行改进,然后跟我和其他朋友一起来分享你的成就呢?

至少要完成上述改进,可能需要其它的有关 Python 知识,甚至于前面没有介绍。这都不要紧,掌握了基本知识之后,在编程的过程中,就要不断发挥 google 的优势,让她帮助你找寻完成任务的工具。

统计考试成绩

每次考试之后,教师都要统计考试成绩,一般包括:平均分,对所有人按成绩从高到低排队,谁成绩最好,谁成绩最差。还有其它的统计项,暂且不做了。只统计这几项吧。下面的任务就是读者转动脑筋,思考如何用程序实现上面的统计。为了简化,以字典形式表示考试成绩记录,例如:{"zhangsan":90, "lisi":78, "wangermazi":39},当然,也许不止这三项,可能还有,每个老师所处理的内容稍有不同,因此字典里的键值对也不一样。

怎么做?

有几种可能要考虑到:

最高分或者最低分,可能有人并列。

要实现不同长度的字典作为输入值。

输出结果中,除了平均分,其它的都要有姓名和分数两项,否则都匿名了,怎么刺激学渣,表扬学霸呢?

不管你是学渣还是学霸,都能学好 Python。请思考后敲代码调试你的程序,调试之后再阅读下文。

参考代码:

保存为 20502.py,然后运行:

貌似结果还不错。不过,还有改进余地,看看现实,就感觉不怎么友好了。看官能不能优化一下?当然,里面的函数也不一定是最好的方法,你也可以修改优化。期盼能够在我上面公布的途径中交流一二。

找素数

这是一个比较常见的题目。我们姑且将范围缩小一下,找出 100 以内的素数吧。

还是按照前面的管理,读者先做,然后我提供参考代码,然后自行优化。

对这个练习,我的思路是先做一个函数,用它来判断某个整数是否是素数。然后循环即可。参考代码:

代码保存后运行:

打印出了 100 以内的质数。

还是前面的观点,这个程序你或许也发现了需要进一步优化的地方,那就太好了。另外,关于判断质数的方法,还有好多种,读者可以自己创造或者网上搜索一些,拓展思路。

编写函数的注意事项

编写函数,在开发实践中是非常必要和常见的,一般情况,你写的函数应该是:

尽量不要使用全局变量。

如果参数是可变类型数据,在函数内,不要修改它。

每个函数的功能和目标要单纯,不要试图一个函数做很多事情。

函数的代码行数尽量少。

函数的独立性越强越好,不要跟其它的外部东西产生关联。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180227A0N0I300?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券