用Python实现6升水桶和7升水桶导出3升水
用Python实现6升水桶和7升水桶导出3升水
问题描述:
现在有一个6升的水桶和一个7升的水桶,设定水有无限多,如何只用这两个桶导出3升水?
解决方案:
重复以上三个步骤,在第三轮的第二步,可以发现7升容器中的水为3升。
用python实现
定义两个列表分别作为大容器和小容器,这两个列表均只有两个元素,第一个元素表示该容器的容量,第二个元素表示目前容器中的水量。
BigCup = [7,0]
SmallCup = [6,0]
定义三个函数,分别用来给容器加满水、将容器中的水倒空、把一个容器中的水倒入另一个容器。
def WaterAdd(list):list[1] = list[0]return listdef WaterDrop(list):list[1] = 0return listdef WaterSwitch(list1,list2): # 这里是将list2的水倒入list1if list2[1] > (list1[0] - list1[1]):list1_water = list1[0]list2_water = list2[1] + list1[1] - list1[0]list1[1] = list1_waterlist2[1] = list2_waterreturn list1,list2else:list1_water = list2[1] + list1[1]list2_water = list2[1] - list2[1]list1[1] = list1_waterlist2[1] = list2_waterreturn list1,list2
调用函数实现:
for i in range(3):WaterAdd(BigCup)WaterSwitch(SmallCup,BigCup)if i < 2:WaterDrop(SmallCup)WaterSwitch(SmallCup,BigCup)
print('现在,BigCup中有'+str(BigCup[1])+'升水。')
运行结果:
用Python实现6升水桶和7升水桶导出3升水相关推荐
- 【专升本计算机】2021年甘肃省专升本计算机全真模拟试题(五)
[专升本计算机]2021年甘肃省专升本计算机全真模拟试题(一) [专升本计算机]2021年甘肃省专升本计算机全真模拟试题(二) [专升本计算机]2021年甘肃省专升本计算机全真模拟试题(三) [专升本 ...
- 【专升本计算机】2021年甘肃省专升本计算机全真模拟试题(四)
[专升本计算机]2021年甘肃省专升本计算机全真模拟试题(一) [专升本计算机]2021年甘肃省专升本计算机全真模拟试题(二) [专升本计算机]2021年甘肃省专升本计算机全真模拟试题(三) [专升本 ...
- 【专升本计算机】2021年甘肃省专升本计算机全真模拟试题(二)
[专升本计算机]2021年甘肃省专升本计算机全真模拟试题(一) [专升本计算机]2021年甘肃省专升本计算机全真模拟试题(二) [专升本计算机]2021年甘肃省专升本计算机全真模拟试题(三) [专升本 ...
- 山西计算机网络技术专升本分数线_2020山西成考专升本招生补录第一批公告!附补录院校专业缺额表!...
☞回复[成绩]查询2020年成人高考成绩 ☞回复[录取]查询20成考录取结果 ☞回复[补录]查询最新院校缺额信息 ☞加入学历备考交流群 550985358 专升本第一阶段补录通知与院校缺额信息 ...
- 【升鲜宝】生鲜配送管理系统_升鲜宝 V2.0 按客户商品分类分开打印配送与按客户商品分类导出相关订单商品相关说明(一)...
[升鲜宝]生鲜配送管理系统_升鲜宝 V2.0 按[客户]的商品分类分开打印(配送单)与按[客户]商品分类[对账单]导出相关销售订单商品功能相关说明(一) 业务场景概述与痛点 1.中小学校食堂的客户,每 ...
- 一个游戏中玩家总经验值达到200就可以到达2级,达到400可以升到3级,达到600可升4级,达到800可升5级依此类推(玩家新创建的角色为0经验1级)。游戏中有一种超级经验丹,玩家1级的时候使用超级经
运行环境:赛码网 题目描述 一个游戏中玩家总经验值达到200就可以到达2级,达到400可以升到3级,达到600可升4级,达到800可升5级依此类推(玩家新创建的角色为0经验1级).游戏中有一种超级经验 ...
- 【专升本计算机】2021年甘肃省专升本计算机全真模拟试题(一)
[专升本计算机]2021年甘肃省专升本计算机全真模拟试题(一) [专升本计算机]2021年甘肃省专升本计算机全真模拟试题(二) [专升本计算机]2021年甘肃省专升本计算机全真模拟试题(三) [专升本 ...
- 容器里有10升油,现在只有两个分别能装3升和7升油的瓶子,需要将10 升油等分成2 个5 升油。编写程序,输出分油的操作过程。
容器里有10升油,现在只有两个分别能装3升和7升油的瓶子,需要将10 升油等分成2 个5 升油.编写程序,输出分油的操作过程. 这个思路是看别人的,代码是自己写的 思路其实很容易理解,就是三个桶之间互 ...
- 容器里有10升油,现在只有两个分别能装3升和7升油的瓶子,需要将10 升油等分成2 个5 升油。程序输出分油次数最少的详细操作过程
引入 1.容器里有10升油,现在只有两个分别能装3升和7升油的瓶子,需要将10 升油等分成2 个5 升油.程序输出分油次数最少的详细操作过程. 思考 这题主要是要求了输出分油次数最少的操作,网上很多算 ...
- 量筒量水问题1--一个盛满水的池子,有一个6升的量筒,一个5升的量筒,怎样量出3升水?
方法一: 1.5升装满水,倒入6升的里面(6升量筒中有5升水) 2.5升再装水,再倒入6升的里面(5升量筒中有4升水) 3.倒掉6升的水,把5升的剩下的水倒进6升的里面(6升量筒中有4升水) 4.5升 ...
最新文章
- 2021-07-3022
- 本科生手握十余篇SCI,达博士毕业要求后,他获顶级名校全奖直博offer
- C# 只允许运行一个实例
- 从Garmin USB中读取GPS数据(串口实现)
- 瞬时视场、识别距离、mrtd
- linux内核贡献排名,谷歌ARM靠边站!Linux内核贡献,华为反超Intel全球第一
- virtualbox vbox虚拟机去虚拟化软件使用教程 硬件级虚拟机系统 超能版 V2020
- 使用Redis实现附近的人及打车服务
- 从零开始设计一个漂亮的网页(译)
- 定义一个html文档的范围用什么标签,定义一个HTML文档的范围用()标签 A.ol B.ul C.pre D.html...
- 2013~2014 第一学期课件整理
- 永辉超市第三季营收222亿:净亏7.8亿 卖金龙鱼股权套现1.7亿
- linux 内存溢出解决办法
- 折腾amd加持的tensorflow和keras
- 人老了,到底是应该多运动还是多静养?跳广场舞要注意啥?
- 5000个基金经理能跑赢4000只股票吗?15年数据告诉你该炒股还是买基金【邢不行】
- 关于使用Intellij idea编写jsp代码出现Cannot resolve method ‘setCharacterEncoding(java.lang.String)‘如何解决
- 阿里竟然雇佣了一只大猴子...
- linux中iptables配置文件及命令详解详解
- 四川金融行业企业名录