首页 > 编程语言 >Python趣味编程3则:李白买酒、猴子吃桃、宝塔上的琉璃灯

Python趣味编程3则:李白买酒、猴子吃桃、宝塔上的琉璃灯

时间:2023-06-09 19:02:51浏览次数:39  
标签:买酒 ISBN Python 978 2019 清华大学出版社 琉璃灯 灯数


1、李白买酒

问题描述:

李白街上走,提壶去买酒。遇店加一倍,见花喝一斗。店不相邻开,花不成双长。三遇店和花,喝光壶中酒。请问此壶中,原有多少酒?

简单分析:

题目中加一倍是指再购买和壶中酒同样数量的酒,喝一斗是指喝掉壶中的一斗酒。根据描述,李白应该是先后遇到了酒店、鲜花、酒店、鲜花、酒店、鲜花,最后正好把酒喝完。

Python趣味编程3则:李白买酒、猴子吃桃、宝塔上的琉璃灯_python

要计算酒壶中原有多少酒,可以从后向前倒推,最后喝完为0,往前遇到鲜花加1斗,再往前遇到酒店减为一半,如此操作三次之后,得到的数字即为初始状态时酒的数量。

参考代码:

Python趣味编程3则:李白买酒、猴子吃桃、宝塔上的琉璃灯_python_02

运行结果:0.875

 

2、宝塔上的琉璃灯

问题描述:

有一座八层宝塔,每一层都有一些琉璃灯,每一层的灯数都是上一层的二倍,已知共有765盏琉璃灯,求解每层各有多少。

简单分析:

可以假设最高层琉璃灯的数量为1、2、3、4...,然后分别计算各层灯数,如果各层灯数之和为765,则给出答案并停止假设。

参考代码:

Python趣味编程3则:李白买酒、猴子吃桃、宝塔上的琉璃灯_python_03

上面代码中使用到了标准库itertools中的函数count(start, step),返回包含从start开始且以step为步长的无限长整数数列(start, start+step, start+2*step, start+3*step,...)的count对象。

代码中使用列表推导式计算假设顶层灯数为first时各层的灯数。

运行结果:

Python趣味编程3则:李白买酒、猴子吃桃、宝塔上的琉璃灯_算法_04

下面是求解问题的另一个思路:

假设顶层灯数为x,那么顶层灯数计算方法如下:

Python趣味编程3则:李白买酒、猴子吃桃、宝塔上的琉璃灯_算法_05

 

参考代码:

Python趣味编程3则:李白买酒、猴子吃桃、宝塔上的琉璃灯_大数据_06

 

3、猴子吃桃

问题描述:

小猴子有一天摘了很多桃子,一口气吃掉一半还不过瘾,就多吃了一个;第二天又吃掉剩下的桃子的一半多一个,以后每天都是吃掉前一天剩余桃子的一半还多一个,到了第五天再想吃的时候发现只剩下一个了。问小猴子最初摘了多少个桃子。

简单分析:

从后向前看,每天剩余桃子的数量加上1再乘以2就是前一天桃子的数量。

参考代码:

Python趣味编程3则:李白买酒、猴子吃桃、宝塔上的琉璃灯_算法_07

 

运行结果: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月

 

标签:买酒,ISBN,Python,978,2019,清华大学出版社,琉璃灯,灯数
From: https://blog.51cto.com/u_9653244/6450618

相关文章

  • Python根据字幕文件自动给视频添加字幕(通用版)
    功能描述:根据给定的字幕文件中的字幕信息,自动给视频添加字幕,运行程序后输入要添加字幕的视频文件和对应的字幕文件路径即可。实际使用时不需要对程序做任何修改,只需要根据实际的视频内容来修改字幕文件就可以,自动把字幕文字添加到视频下方并居中显示。字幕文件格式:扩展库:pipinstal......
  • Python提取Word文档中所有脚注文本
    问题描述:提取Word文档中所有脚注文本,适用于doc和docx格式。测试文件:需要的扩展库:pywin32,如果使用Anaconda3Spyder的话,默认安装了这个扩展库,不需要额外安装。参考代码:运行结果:---董付国老师Python系列图书---友情提示:不建议购买太多,最好先通过京东、当当、天猫查阅图书了解目录和......
  • 使用Python对视频任意矩形区域进行裁剪
    功能描述:裁剪视频任意矩形区域。参考代码: 运行方式,切换到cmd执行程序:......
  • 在安卓手机上编写和运行Python 3.x程序
    一、QPython3H1.下载与安装进入手机“应用市场”,搜索“QPython3H”,单击“安装”。 2.安装之后在桌面上找到QPython3H的图标,打开,主界面如下。3.单击主界面上的“终端”,进入PythonShell界面,编写代码,单击“换行”执行。4.如果需要编写完整程序方便反复修改和运行,单击主界面上的......
  • Python 3.8实现支持断点续传的网络文件下载功能
    功能描述:下载URL指定的网络文件,支持断点续传。代码支持Python3.5/3.6/3.7/3.8以及更新的版本。所谓断点续传,是指因为各种原因下载过程被中断之后,再次下载时会继续之前的工作,避免重复下载浪费时间。参考代码:以spark官方下载地址为例,220M的文件。运行结果:......
  • Python+tkinter实现超时无键盘操作自动退出
    功能描述:Python+tkinter应用程序,启用软件之后,如果用户超过10分钟没有在指定组件中进行按键操作,给出提示信息之后退出程序。参考代码: 运行结果:......
  • 使用Python给自己的录课视频添加字幕
    功能描述:使用Python编写程序,给视频添加字幕,包括逐句出现的字幕和逐词出现的字幕,自己随意设置字幕的位置、起止时间等属性。参考代码: ......
  • Python实现“按任意键返回”和无回显输入
    功能描述:在某些应用场景中,需要实现“按任意键返回”这样的功能,在Python中如果使用内置函数input()的话必须有个回车键才表示输入结束,不够完美。在msvrct标准库中,可以使用getch()/getwch()或getche()/getwche()函数实现“按任意键返回”这样的功能,其中getch()和getwch()不回显,getche......
  • Python助力中学数学教学:绘图验证反比例函数与矩形交点的关系
    昨天下午,我正在看书,娃过来说“老爸,考你个数学题看你会不会啊”,我一想不过是九年级的数学题而已,岂能难的倒我,于是欣然答应。题目如下:如图,矩形左下角O为坐标原点,A为x正轴上一点,C为y正轴上一点,反比例函数的图像与矩形OABC的边AB交于E点,与BC交于D点。已知三角形ODE的面积为5,且线段BD长......
  • Python+matplotlib绘制极坐标柱状图(南丁格尔玫瑰图)
    功能描述:根据给定数据,绘制南丁格尔玫瑰图,也就是在极坐标系中绘制柱状图。参考代码:绘制结果:......