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

2023-10-29

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月

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐

  • 缓存的最佳实践

    1 本地缓存 分布式缓存 文件缓存 缓存就是数据交换的缓冲区 按照分布情况 可以分为 本地缓存 可用hashmap 注意并发 guava cache 推荐 等 对于一致性要求不高 访问频率高 总数据集小 重建成本低可以考虑使用本地缓存 本地
  • WiFi新伙伴802.11AY来了,你必知的3件事

    转自 https baijiahao baidu com s id 1615713457503805791 wfr spider for pc 本月早些时候 Wi Fi联盟宣布下一代Wi Fi标准将被称为 Wi Fi 6 它就是之前我们提到
  • BAT脚本卸载软件

    应用场景 学习过程中遇到需要通过bat脚本卸载指定软件 但是各软件对应的卸载命令一般都是不同的 实现方法 Windows软件在封装时一般会指定一个注册表项用来存放该软件的卸载方式 直接使用该方式即可 该注册表项的路径为 64位软件 HKEY
  • Java中如何从键盘输入char类型字符

    1 第一种方法 是用String类型替代char型 但是这种替代本质还是String类型 import java util Scanner public class Test1 public static void main String
  • 高频react面试题20道(附详解)

    大厂技术 高级前端 Node进阶 点击上方 程序员成长指北 关注公众号 回复1 加入高级Node交流群 作者 前端要努力 原文 https github com whylisa front end interview 上次分享了一篇vue面
  • 宝塔定时计划任务

    选择shell脚本 选择执行周期 在脚本内容内写入 curl sS connect timeout 10 m 60 此处为地址链接
  • maven添加依赖

    maven添加依赖 进入maven仓库网站 https mvnrepository com 检索想要添加依赖的关键字 例如 spring webmvc 进入选择想要的依赖版本即可看到对应的maven坐标三要素 groupId artifac
  • Edit distance(二维动态规划题目)

    题目1 Edit Distance 传统动态规划问题 两个字符串不一样 对第一个字符每一个位置可以进行删除 修改或者增加 将第一个字符串改成第二个字符串 求最小的操作数 a Insert a character b Delete a cha
  • 如何突破java程序员瓶颈?十年Java架构师分享自己的辛酸成长历程

    不知不觉 金九银十已经过去一半了 小编最近也是收到了蛮多读者的私信与简历 发现了一个比较值得我注意的点 就是很多读者的简历千篇一律 工作五年经验的简历竟然和工作一年的简历并无二致 所以小编今天根据阿里的一位 十年Java架构师工作经验 和大
  • PostgreSQL 在psql中切换schema

    psql中切换schema 执行 set search path to test schema 后续在执行的操作都是针对test schema这个schema了
  • GPT4发布,有哪些升级和应用?

    引言 GPT 4是OpenAI GPT系列研究最新里程碑 GPT 4接受图像和文本输入 是一个大型多模态模型 接受图像和文本输入 输出为文本 本文结合OpenAI官方Blog 技术报告微软Copilot发布会内容 详细介绍GPT4的接入方式
  • 使用Python,EoN模拟网络中的疾病扩散模型,并结合matplotlib绘图

    使用Python EoN模拟网络中的疾病扩散模型 并结合matplotlib绘图 1 EoN是什么 2 安装 3 效果图 4 源代码 4 1 源码 4 2 源码 参考 写这篇博客源于博友的提问 好奇EoN是什么 然后安装研究了一下 1 Eo
  • 英语发音规则---ir字母组合发音规律

    英语发音规则 ir字母组合发音规律 一 总结 一句话总结 这个字母组合通常在单词中读 girl g l n shirt t n girl g l n 女孩 bird b d n 鸟 shirt t n 衬衫 skirt sk t n 裙子
  • Verilog基本语法初学

    一 语言要素 一 概述 1 空白符 White Space 空格 换行 换页 Tab等 是代码错落有致 提高可读性 2 注释 Comment 单行注释 多行注释 3 标识符 Identifier 字母 数字 最长1023个字符 4 关键字
  • QT窗口设置为无边框后背景色无法正常显示的解决方法

    widget类构造函数 setWindowFlags Qt FramelessWindowHint Qt WindowStaysOnTopHint setAutoFillBackground true auto p palette p se
  • 未能加载文件或程序集 请移除注册表值 [HKLM/Software/Microsoft/Fusion!EnableLog] 解决方法

    警告 程序集绑定日志记录被关闭 要启用程序集绑定失败日志记录 请将注册表值 HKLM Software Microsoft Fusion EnableLog DWORD 设置为 1 注意 会有一些与程序集绑定失败日志记录关联的性能损失 要关
  • transformer(下)机器翻译+pytorch实现

    transformer 下 机器翻译 pytorch实现 说在前面 实验环境 注意点 1 加载数据 建立input pipeline 2 位置编码 positional encoding 3 掩码 masking 4 scaled dot
  • TCP协议分析

    实验目的 了解TCP报文段的结构 掌握TCP数据流追踪的方法 理解TCP三次握手的基本过程 理解TCP连接终止的基本过程 理解TCP可靠数据传输的基本原理 TCP数据流追踪 我们以抓取京东的页面为例 分析整个抓包过程 首先为了筛选抓包抓到的
  • 面向对象编程的三大特征

    面向对象编程的三大特征 封装 继承 多态 一 封装 对于封装而言 一个对象它所封装的是自己的属性和方法 所以他是不需要依赖其他对象就可以完成自己的操作 封装的三大好处 1 良好的封装能够减少耦合 2 类内部的结构可以自由修改 3 可以对成员
  • Python趣味编程3则:李白买酒、猴子吃桃、宝塔上的琉璃灯

    1 李白买酒 问题描述 李白街上走 提壶去买酒 遇店加一倍 见花喝一斗 店不相邻开 花不成双长 三遇店和花 喝光壶中酒 请问此壶中 原有多少酒 简单分析 题目中加一倍是指再购买和壶中酒同样数量的酒 喝一斗是指喝掉壶中的一斗酒 根据描述 李白