大家好,每N周一坑栏目又来啦😏
今天的坑是一个很简单但很实用的小程序:
房贷计算器
因为是“刚需”,所以网上早有无数的版本。有人已经用过,有人以后可能会用。有没有想过,类似这种小工具,其实你自己也可以实现。
输入:
- 贷款金额
- 贷款期限
- 标准年利率
- 利率浮动倍数
输出:
两种贷款方式
等额本息
- 每月还款
- 总利息
等额本金
- 首月还款
- 每月递减额
- 总利息
效果:
我们只需要实现功能,并不需要推导数学公式,所以你用现成的公式即可。我这里就不把公式给出了,因为搜索是开发的重要技能,也其实是今天这个坑的重点。
完成之后,可以跟网上的已有工具对比下正确性。
附加题:
- 做成 GUI 版本
- 做成网页版(JS)
经常有人会说,“×××这个功能网上早就有啦”,“用×××不就可以了”……话是没错,可我们是在学编程哎,不就是要靠着一个个小练习积累经验嘛。看别人程序写得好,是因为你看到的也许是人家第几十万行代码。
不光是房贷计算器,类似的一些小工具,都可以作为初级练手的小程序,甚至写成网页/App/小程序还可能赚钱。亲自做一做才知道未必是想象中那么容易,也会遇到很多小问题。
参考代码将在下周给出,也可学习其他同学在留言中提交的代码。
期待各位同学提交解答。
提交代码可以使用 paste.ubuntu.com 或
codeshare.io 等代码分享网站,只需将代码复制上去保存,即可获得一个分享地址,非常方便。
【解答】生成九宫格图片
上次的题目 生成九宫格图片,是对图像处理以及 PIL 库的一个练习。关键方法是 Image
对象的 corp
方法。函数原型:
crop(self, box=None)
box 是四个参数的元组,分别是设置截图的左、上、右、下的坐标位置。
返回值则是以这个位置裁剪出的图像区域。
核心代码参考:
from PIL import Image img = Image.open('src.jpg') w, h = img.size rowheight = h // 3 colwidth = w // 3 for r in range(3): for c in range(3): box = (c * colwidth, r * rowheight, (c + 1) * colwidth, (r + 1) * rowheight) i = img.crop(box) i.save('pic_%d.jpg' % (r*3+c))
@GS、@凌烟、@sociopath 三位同学提交了代码。其中 @凌烟 处理了长方形图片的裁剪,@GS 更进一步,用填白的方式保证了长方形图像裁剪后的完整性。
感谢各位同学的参与。
期待在下一期中看到你的代码!
如需了解视频课程及答疑群等更多服务,请号内回复 码上行动
代码相关问题可以在论坛上发帖提问 bbs.crossincode.com
推荐阅读:
开发工具 | 世界杯 | 高考 | 我用Python | 知乎 | 排序 | 朋友圈 | 电影票 | 技术宅 | 火车票 | 单词表 | 押韵工具 | 新手建议 | 就业