【时事篇-05-03】20240222 金额145-150元填充27笔货币基金的具体数目测算( itertools)

本文主要是介绍【时事篇-05-03】20240222 金额145-150元填充27笔货币基金的具体数目测算( itertools),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

作品展示

背景需求:

通过 itertools计算2525元存17笔145-150元金额的最适合方案

【时事篇-05-02】20240221 2525元存17只货币基金的具体数目测算( itertools)-CSDN博客文章浏览阅读823次,点赞32次,收藏13次。【时事篇-05-02】20240221 2525元存17只货币基金的具体数目( itertools)https://blog.csdn.net/reasonsummer/article/details/136220804

现在我的账户里还有27个货币基金没有填满。

如果我想分别存入145、146、147、148、149、150六种金额,每一种分别需要存入几笔,才能让合计等于27笔?最后计算总金额。

设计思路

1、将27除以6(145-150共6个金额)=4.5笔

如果想让 145-150出现的次数也基本相近,就将27除以6,每个金额的次数范围就在4-5之间

2、用itertools计算每个金额出现的次数,并相加正好等于27

结果只有一种——[4, 4, 4, 5, 5, 5]

也就是145*4+146*4+147*4+148*5+149*5+150*5

推算出合计

=3987元(27只)

'''
150元存钱游戏(需要27笔,在145-150之间推算,145元会是几笔,146元几笔……最后计算一共多少元)
作者:阿夏
时间:2024年2月22日
'''import itertools# 
q=int(input('缺几只?25只\n'))# 金额范围 6只 145、146、147、148、149、150
m=[]
for i in range(145,151):m.append(i)
print(m)
# [145, 146, 147, 148, 149, 150]
n=len(m)
# 6# 27平均分配到5个里
f1=int(q/n)
print(f1)
# 27/5=4.5 四舍五入是4。
# 
# 范围4-5之间
f2=int(f1)+1numbers = range(f1,f2+1)
combinations = itertools.combinations_with_replacement(numbers, n)com=[]
for combination in combinations:if sum(combination) == q:c=list(combination)com.append(list(combination))
print(c)
print(q,'笔,',f1,'元到',f2,'元,共有',len(com),'种排列')
# [4, 4, 4, 5, 5, 5] 145*4+146*4+147*4+148*5+149*5+150*5all=[]
s=[]
for b in range(len(m)):all.append('{}*{}'.format(m[b],c[b]))s.append(m[b]*c[b])
print('每笔金额、笔数:',all)
print('合计金额: ',sum(s))# 合计金额:  3987

终端输入

27

结果

用其他空缺数字测算:

程序能够平均分配总数(笔),并显示145-150元可以存入几次,保证每个金额出现次数与其他金额出现次数比例相近。并默认推算唯一一种排列的合计金额

这篇关于【时事篇-05-03】20240222 金额145-150元填充27笔货币基金的具体数目测算( itertools)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/737227

相关文章

使用Java填充Word模板的操作指南

《使用Java填充Word模板的操作指南》本文介绍了Java填充Word模板的实现方法,包括文本、列表和复选框的填充,首先通过Word域功能设置模板变量,然后使用poi-tl、aspose-words... 目录前言一、设置word模板普通字段列表字段复选框二、代码1. 引入POM2. 模板放入项目3.代码

python pymodbus模块的具体使用

《pythonpymodbus模块的具体使用》pymodbus是一个Python实现的Modbus协议库,支持TCP和RTU通信模式,支持读写线圈、离散输入、保持寄存器等数据类型,具有一定的参考价值... 目录一、详解1、 基础概念2、核心功能3、安装与设置4、使用示例5、 高级特性6、注意事项二、代码示例

Python实现中文大写金额转阿拉伯数字

《Python实现中文大写金额转阿拉伯数字》在财务票据中,中文大写金额被广泛使用以防止篡改,但在数据处理时,我们需要将其转换为阿拉伯数字形式,下面我们就来看看如何使用Python实现这一转换吧... 目录一、核心思路拆解二、中文数字解析实现三、大单位分割策略四、元角分综合处理五、测试验证六、全部代码在财务票

MyBatis Plus实现时间字段自动填充的完整方案

《MyBatisPlus实现时间字段自动填充的完整方案》在日常开发中,我们经常需要记录数据的创建时间和更新时间,传统的做法是在每次插入或更新操作时手动设置这些时间字段,这种方式不仅繁琐,还容易遗漏,... 目录前言解决目标技术栈实现步骤1. 实体类注解配置2. 创建元数据处理器3. 服务层代码优化填充机制详

MyBatis ParameterHandler的具体使用

《MyBatisParameterHandler的具体使用》本文主要介绍了MyBatisParameterHandler的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录一、概述二、源码1 关键属性2.setParameters3.TypeHandler1.TypeHa

C#下Newtonsoft.Json的具体使用

《C#下Newtonsoft.Json的具体使用》Newtonsoft.Json是一个非常流行的C#JSON序列化和反序列化库,它可以方便地将C#对象转换为JSON格式,或者将JSON数据解析为C#对... 目录安装 Newtonsoft.json基本用法1. 序列化 C# 对象为 JSON2. 反序列化

Java 中编码与解码的具体实现方法

《Java中编码与解码的具体实现方法》在Java中,字符编码与解码是处理数据的重要组成部分,正确的编码和解码可以确保字符数据在存储、传输、读取时不会出现乱码,本文将详细介绍Java中字符编码与解码的... 目录Java 中编码与解码的实现详解1. 什么是字符编码与解码?1.1 字符编码(Encoding)1

C#中SortedSet的具体使用

《C#中SortedSet的具体使用》SortedSet是.NETFramework4.0引入的一个泛型集合类,它实现了一个自动排序的集合,内部使用红黑树数据结构来维护元素的有序性,下面就来介绍一下如... 目录基础概念主要特性创建和初始化基本创建方式自定义比较器基本操作添加和删除元素查询操作范围查询集合运

C# Opacity 不透明度的具体使用

《C#Opacity不透明度的具体使用》本文主要介绍了C#Opacity不透明度的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录WinFormsOpacity以下是一些使用Opacity属性的示例:设置窗体的透明度:设置按钮的透

java中pdf模版填充表单踩坑实战记录(itextPdf、openPdf、pdfbox)

《java中pdf模版填充表单踩坑实战记录(itextPdf、openPdf、pdfbox)》:本文主要介绍java中pdf模版填充表单踩坑的相关资料,OpenPDF、iText、PDFBox是三... 目录准备Pdf模版方法1:itextpdf7填充表单(1)加入依赖(2)代码(3)遇到的问题方法2:pd