【教学类-06-12】20231126 (一)二位数 如何让加减乘除题目从小到大排序(以1-20之间加法为例,做正序排列用)

结果展示

优化后

优化前

背景需求:

生成列表

单独抽取显示题目排序方法

存在问题:

我希望 0+0 0+1 0+2……这样排序,但是实际上,除了第一个加数会从小到大排序,第二个被加数的第十位数和个位数都会从小到大排序,也就是0+0后面,先出现的是0+10(不是0+1),等10-19排完了,在轮到0+1,随后0+20出现,接着才是0+2、0+3

也就是说:0+1 、0+10这两个数字,默认是两位数字0+10先出现,第二个数字双位数都走完了,才会轮到0+1这种单个数。

需求:

如何让0+0 0+1 ……0+9 0+10 0+11 0+20,然后在是1+0……1+19这样排序。

样式:0+(0-20),1+(0-19)……18+(0-2),19+(0-1),20+(0)

解决思路

一、把数字改成两位数

按需要的顺序排列,写入数组

二、对数组内的题目,四种可能性进行去“0”处理

1、个位数去0+个位数去0(2+3)

2、个位数去0+十位数(3+15)

3、十位数+个位数去0(12+1)

4、十位数+十位数(10+10)

按照原数组的位置排序

代码展示:


'''
0-20所有加法,从小到大排序(0+1,0+2,而不是0+1,0+10)
作者:阿夏
时间:2023年11月26日 12:00
'''# 5以内“+”题共21题
P=[]
for a in range(0,21):     # 起始数字就是10,就是排除掉0-10之间的数字for b in range(0,21):      # 起始数字为0,if 0<=a+b<21:         # print('{}+{}='.format(a,b))P.append('{}+{}='.format('%02d'%a,'%02d'%b))if 0<=b+a<21:       # print('{}+{}='.format(a,b))P.append('{}+{}='.format('%02d'%b,'%02d'%a))else:passP =list(set(P))    # 排除重复,但随机打乱
P.sort()    # 小到大排序
print(P)
# for i in P :
#     print(i)# ['0+0=', '0+1=', '0+2=', '0+3=', '0+4=', '0+5=', '1+0=', '1+1=', '1+2=', '1+3=', '1+4=', '2+0=', '2+1=', '2+2=', '2+3=', '3+0=', '3+1=', '3+2=', '4+0=', '4+1=', '5+0=']# “+”题生成都是按小到大排列的,不需要sort排序
print('0-20之间的加法题共有  {}  题'.format(len(P)) )   # 21P2=[]
for i in P:    # 每个内容是00+00=,一共6个字符# print(i)if i[0]=='0'and i[-3]=='0':print(i[1:3]+i[4:])        # 全部是X+X= 个位数+个位数P2.append(i[1:3]+i[4:])if i[0]=='0'and i[-3]!='0':print(i[1:])      # 全部是X+XX= 个位数+十位数P2.append(i[1:])if i[0]!='0'and i[-3]=='0':print(i[0:3]+i[4:])   # 全部是XX+X= 十位数+个位数P2.append(i[0:3]+i[4:])if i[0]!='0'and i[-3]!='0':print(i[0:])   # 全部是XX+XX= 十位数+十位数 只有一个10+10P2.append(i[0:])
print(P2)
print('0-20之间的加法题(正序排序)共有  {}  题'.format(len(P2)) )   # 21for e in P2:print(e)

存在问题:

如果是三位数的加减法,存在更多的if可能性(多次去0),写起来太麻烦了,还是想想更好的代码写法,让题目排序

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/235395.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

防爆执法记录仪、防爆智能安全帽助力海上钻井平台远程可视化监管平台建设

推动远程安全管理&#xff0c;海上钻井"视"界拓新—防爆执法记录仪与防爆智能安全帽的创新应用 在海上钻井作业领域&#xff0c;安全生产一直是萦绕在每一个业者心头的重大课题。由于环境的恶劣及作业的特殊性&#xff0c;一旦发生安全事故&#xff0c;其后果往往极…

禁奥义·SQL秘籍

sql secret scripts sql 语法顺序、执行顺序、执行过程、要点解析、优化技巧。 1、语法顺序 如上图所示&#xff0c;为 sql 语法顺序与执行顺序对照图。其具体含义如下&#xff1a; 0、select&#xff1a; 用于从数据库中选取数据&#xff0c;即表示从数据库中查询到的数据的…

求臻医学满分通过EMQN室间质评,检测实力再获国际权威机构认可

近日&#xff0c;欧洲分子基因诊断质量联盟&#xff08;European Molecular Genetics Quality Network&#xff0c;EMQN&#xff09;公布了2023年Oncogene panel 项目能力验证考核结果&#xff0c;求臻医学旗下北京和杭州检验实验室&#xff0c;使用自主研发的ChosenOne大Panel…

TZOJ 1375 偶数求和

答案&#xff1a; #include <stdio.h> int main() {int n 0, m 0, j 0, s 0, count1 0,k0;int arr[101] { 0 }; //选择数组是用来控制打印格式while (scanf("%d%d", &n, &m) 2 && (n < 100 && n>0)) //多组数据输入…

SS8812T 36V/1.6A 两通道 H 桥驱动芯片 替代DRV8812

SS8812T 为打印机和其它电机一体化应用提 供一种双通道集成电机驱动方案。 SS8812T 有两 路 H 桥驱动&#xff0c;每个 H 桥可提供最大输出电流 1.6A (在 24V 和 Ta 25C 适当散热条件下)&#xff0c;可驱动两 个刷式直流电机&#xff0c;或者一个双极步进电机&#xff0…

科普:什么是合同生命周期管理?

在当前&#xff0c;企业面临自身转型升级与行业数字建设的挑战&#xff0c;急需一种系统化的解决方案&#xff0c;帮助企业在自身运作方面实现降本增效&#xff0c;为拓展业务获得发展提供助力&#xff0c;而合同生命周期管理在其中就扮演着十分重要的角色。 一、合同生命周期…

云原生系列Go语言篇-编写测试Part 1

本文来自正在规划的​​Go语言&云原生自我提升系列​​&#xff0c;欢迎关注后续文章。 2000年以来&#xff0c;自动化测试的广泛应用可能比任何其他软件工程技术都更能提高代码质量。Go是一种专注于提高软件质量的语言和生态系统&#xff0c;很自然的在其标准库中包含了测…

深度解析 Spring Security 自定义异常失效问题:源码剖析与解决方案

&#x1f680; 作者主页&#xff1a; 有来技术 &#x1f525; 开源项目&#xff1a; youlai-mall &#x1f343; vue3-element-admin &#x1f343; youlai-boot &#x1f33a; 仓库主页&#xff1a; Gitee &#x1f4ab; Github &#x1f4ab; GitCode &#x1f496; 欢迎点赞…

浅聊langchain-chatchat

个人的一点经验和总结&#xff0c;希望能帮助到大家。有不对的地方请留言和指正&#xff01; langchain-GLM是什么 langchain-GLM是一个本地知识库应用解决方案&#xff0c;支持以cli、web、api方式提供以本地知识库或在线资源为知识素材的对话服务&#xff0c;对中英文场景对…

埃拉托色尼筛法

def is_prime(n):if n % 2 0 and n ! 2:return Falsefor i in range(3, int(math.sqrt(n) 1)):if n % i 0:return Falsereturn n ! 1def eratosthenes(n):primes []is_prime [True] * (n 1)for i in range(2, n1):if is_prime[i]:primes.append(i)# 用当前素数i去筛掉所有…

Hi-Net:用于多模态MR图像合成的混合融合网络

Hi-Net: Hybrid-Fusion Network for Multi-Modal MR Image Synthesis Hi-Net&#xff1a;用于多模态MR图像合成的混合融合网络背景贡献实验方法the modality-specific network&#xff08;模态特定网络&#xff09;multi-modal fusion networkmulti-modal synthesis network 损…

前端传参中带有特殊符号导致后端接收时乱码或转码失败的解决方案

文章目录 bug背景解决思路1&#xff1a;解决思路2解决思路3&#xff08;最终解决方案&#xff09;后记 bug背景 项目中采用富文本编辑器后传参引起的bug&#xff0c;起因如下&#xff1a; 数据库中存入的数据会变成这种未经转码的URL编码 解决思路1&#xff1a; 使用JSON方…