1、李白买酒
问题描述:
李白街上走,提壶去买酒。遇店加一倍,见花喝一斗。店不相邻开,花不成双长。三遇店和花,喝光壶中酒。请问此壶中,原有多少酒?
简单分析:
题目中加一倍是指再购买和壶中酒同样数量的酒,喝一斗是指喝掉壶中的一斗酒。根据描述,李白应该是先后遇到了酒店、鲜花、酒店、鲜花、酒店、鲜花,最后正好把酒喝完。
要计算酒壶中原有多少酒,可以从后向前倒推,最后喝完为0,往前遇到鲜花加1斗,再往前遇到酒店减为一半,如此操作三次之后,得到的数字即为初始状态时酒的数量。
参考代码:
运行结果:0.875
2、宝塔上的琉璃灯
问题描述:
有一座八层宝塔,每一层都有一些琉璃灯,每一层的灯数都是上一层的二倍,已知共有765盏琉璃灯,求解每层各有多少。
简单分析:
可以假设最高层琉璃灯的数量为1、2、3、4...,然后分别计算各层灯数,如果各层灯数之和为765,则给出答案并停止假设。
参考代码:
上面代码中使用到了标准库itertools中的函数count(start, step),返回包含从start开始且以step为步长的无限长整数数列(start, start+step, start+2*step, start+3*step,...)的count对象。
代码中使用列表推导式计算假设顶层灯数为first时各层的灯数。
运行结果:
下面是求解问题的另一个思路:
假设顶层灯数为x,那么顶层灯数计算方法如下:
参考代码:
3、猴子吃桃
问题描述:
小猴子有一天摘了很多桃子,一口气吃掉一半还不过瘾,就多吃了一个;第二天又吃掉剩下的桃子的一半多一个,以后每天都是吃掉前一天剩余桃子的一半还多一个,到了第五天再想吃的时候发现只剩下一个了。问小猴子最初摘了多少个桃子。
简单分析:
从后向前看,每天剩余桃子的数量加上1再乘以2就是前一天桃子的数量。
参考代码:
运行结果:46
---董付国老师Python系列图书---
友情提示:不建议购买太多,最好先通过京东、当当、天猫查阅图书了解目录和侧重点,然后再选择购买适合自己的书。
(1)《Python程序设计(第2版)》(ISBN:978-7-302-43651-5),清华大学出版社,2016年8月出版,2019年度清华大学出版社畅销图书
(2)《Python可以这样学》(ISBN:978-7-302-45646-9),清华大学出版社,2017年2月
(3)《Python程序设计基础(第2版)》(ISBN:978-7-302-49056-2)清华大学出版社,2018年1月出版,2019年度清华大学出版社畅销图书
(4)《中学生可以这样学Python》(ISBN:978-7-302-48039-6)清华大学出版社
(5)《Python程序设计开发宝典》(ISBN:978-7-302-47210-0)清华大学出版社,2018年10月
(6)《玩转Python轻松过二级》(ISBN:978-7-302-49916-9)清华大学出版社,2018年5月
(7)《Python程序设计基础与应用》(ISBN:978-7-111-60617-8),机械工业出版社,2018年9月
(8)《Python程序设计实验指导书》(ISBN:9787302525790),清华大学出版社,2019年4月
(9)《Python编程基础与案例集锦(中学版)》(ISBN:978-7-121-35539-4),电子工业出版社,2019年4月
(10)《大数据的Python基础》(ISBN:978-7-111-62455-4),机械工业出版社,预计2019年5月出版
(11)译作《Python程序设计》,机械工业出版社(华章),2018年11月出版
(12)繁体版《Python也可以这样学》,台湾博硕文化股份有限公司,2017年10月出版,本书为《Python可以这样学》在台湾发行的繁体版,两本书内容一样,不建议重复购买。
(13)《Python程序设计实例教程》(ISBN:978-7-111-63198-9),机械工业出版社
(14)《Python数据分析、挖掘与可视化》(ISBN:978-7-115-52361-7),人民邮电出版社,2019年12月