首页 > 编程语言 >python算法:平分7筐鱼

python算法:平分7筐鱼

时间:2024-05-16 10:30:51浏览次数:18  
标签:分法 python 半筐 算法 kone range https com 平分

一,for循环:

1,功能:重复执行同一段代码
语法:

for index in range(n): 
    # 循环体代码

index : 用来依次接收可迭代对象中的元素的变量名
range()函数:负责返回整数序列

流程图:

2,应用

range可以同时指定start 和stop,用for遍历并打印

1 2 3 4 # 指定 start和stop # print的参数 end=" " 用来使打印不换行 for num in range(3,9):     print(num, end=" ")

运行结果:

3 4 5 6 7 8 

说明:刘宏缔的架构森林—专注it技术的博客,
网址:https://imgtouch.com
本文: https://blog.imgtouch.com/index.php/2024/03/23/python-suan-fa-ping-fen-7-kuang-yu/
代码: https://github.com/liuhongdi/ 或 https://gitee.com/liuhongdi
说明:作者:刘宏缔 邮箱: [email protected]

二,平分7筐鱼的题目与解析

1,题目:

甲、乙、丙三位渔夫出海打鱼,他们随船带了21只箩筐。当晚返航时,他们发现有7筐装满了鱼,还有7筐装了半筐鱼,另外7筐是空的,由于他们没有秤,只好通过目测认为7个满筐鱼的重量是相等的,7个半筐鱼的重量是相等的。
在不将鱼倒出来的前提下,怎样将鱼和筐平分为三份?

2,解析:

思路:
每个人应分得7个箩筐,其中有3.5筐鱼。解决该问题可以采用一个3×3的数组,用来表示三个人分到的东西。

其中每个人对应数组的一行,数组的第0列放分到的鱼的整筐数,数组的第1列放分到的半筐数,数组的第2列放分到的空筐数。

需要满足的条件:对于每个人:
共分到7个筐,
筐中的鱼是3.5筐

对于组合后的分法:
每种分法的组合:
分到的整筐的鱼一共7个筐
分到的半筐的鱼一共7个筐

我们先得到每个人的分法,再组合起来

三,编写代码:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 x = []      # 保存符合条件的分法 for i in range(1, 4):     # 满筐的鱼不能超过3筐     for j in range(1, 6):     # 半筐的鱼不能超过5,其他两人至少各需半筐         k = 7 - i - j      # 一共分到7个筐,k表示空筐         if k < 0:     # 空筐不能是负数             break         else:             if (i * 10 + j * 5) == 35:      # 鱼加起来是否3筐半?                 x.append([i, j, k])   z = []     # 保存符合条件的分法的组合 for k1 in x:     for k2 in x:         for k3 in x:    # 组合的满筐一共7个, 且 组合的半筐一共7个             if k1[0] + k2[0] + k3[0] == 7 and k1[1] + k2[1] + k3[1] == 7:                 kone = [k1, k2, k3]                 kone.sort()     # 因为分鱼时顺序不固定,排序是为了过滤重复方法                 if kone not in z:                     z.append(kone)    # 保存到z列表中   print(z)    # 打印列表

运行结果:

[[[1, 5, 1], [3, 1, 3], [3, 1, 3]], [[2, 3, 2], [2, 3, 2], [3, 1, 3]]]
 

标签:分法,python,半筐,算法,kone,range,https,com,平分
From: https://www.cnblogs.com/architectforest/p/18195459

相关文章

  • 接口自动化测试框架【python+requests+pytest+excel+allure+jenkins】
    一.在整个框架中需要用到哪些东西?1.python环境安装https://www.python.org/downloads/windows/下载解压后直接安装,选择Addpythontopath2.JAVA环境配置安装包下载地址:https://www.oracle.com/java/technologies/downloads/环境变量设置参数如下:●变量名:JAVA_HOME●变......
  • python算法: 抓交通肇事犯
    一,for循环:1,功能:重复执行同一段代码语法:forindexinrange(n):   #循环体代码index:用来依次接收可迭代对象中的元素的变量名range()函数:负责返回整数序列流程图:2,应用range可以同时指定start和stop,用for遍历并打印1234#指定start和s......
  • 评估统计算法在银行伪造钞票检测中的价值
    数据科学项目 “评估统计算法在银行伪造钞票检测中的价值” by吴同学 目的 这个数据科学项目的目的是提出一种可靠的算法,以便通过光学扫描仪或类似工具,银行可以区分“真钞”和“伪造”钞票。一般来说,光学扫描仪会检测每张钞票的某些特征,并将它们发送到一个算法,......
  • 推荐一款微信公众平台Python开发神器!
    1、引言在当今数字化时代,微信公众平台成为了企业和个人连接用户的重要渠道。为了高效地管理和与用户互动,开发者需要一个强大而灵活的工具。Weixin-Python正是这样一个为微信公众平台量身打造的Python库,它以其简洁的API和丰富的功能赢得了众多开发者的青睐。本文将深入探讨......
  • python函数参数中的**kwargs
    表示传递任意参数,必须放在形参的最后本质就是一个字典在函数内部可以继续进行处理,添加参数,例如:defexample_function(**kwargs):kwargs['db']=1print(kwargs)如果函数b中的形参是指定了名字的参数,并且你将字典以**a的方式传递给该函数,那么字典中的键必须与函......
  • python多进程中嵌入多进程注意事项
    例如代码:frommultiprocessingimportPoolp1=Pool(4)s=[1,2,3,4]foriins:p1.apply_asny(某方法,args=(i))p1.close()p1.join()此时,某方法中也有一个多进程设置,这样的话就是双重多进程,只要是传入的参数之间是没有关系的,那么就没有问题。如果此时,最外层的apply_......
  • 从C#通过代码启动Python脚本没有接收到参数
    本来写的是这样:ProcessStartInfopsi=newProcessStartInfo{FileName="cmd.exe",WorkingDirectory=FrmNewProject.GetFolderPath()+"\\SolverForEXE",RedirectStanda......
  • ModbusRTU从站扫描工具 python实现
    扫描指定串口下,有哪些modbusRTU服务端[1-247]frompymodbus.clientimportModbusSerialClientasModbusClientfrompymodbus.exceptionsimportModbusIOException,ConnectionException,NoSuchSlaveExceptionimporttimedefread_holding_registers(client,slave_addres......
  • ModbusTCP从站(服务端)扫描工具 python实现
    扫描指定IP网络下,有哪些modbusTCP服务端[1-247]frompymodbus.clientimportModbusTcpClientfrompymodbus.exceptionsimportModbusIOException,ConnectionException,NoSuchSlaveExceptionimporttimedefread_holding_registers(client,slave_address):""&quo......
  • 代码随想录算法训练营第第八天 | 344.反转字符串 、541. 反转字符串II、卡码网:54.替
    344.反转字符串建议:本题是字符串基础题目,就是考察reverse函数的实现,同时也明确一下平时刷题什么时候用库函数,什么时候不用库函数题目链接/文章讲解/视频讲解:https://programmercarl.com/0344.反转字符串.html/***@param{character[]}s*@return{void}Donotret......