筛选出等于1的式子

然后统计和归类
归类分行

归类方法
算术符号归类
数字大小排序

算术符号归类

import random

def generate_expression(num_range, num_count, operators):
    nums = random.sample(range(num_range[0], num_range[1]+1), num_count)
    ops = random.choices(operators, k=num_count-1)
    expression = str(nums[0])
    for i in range(1, num_count):
        expression += ' ' + ops[i-1] + ' ' + str(nums[i])
    try:
        result = eval(expression)
        if int(result) == result:  # 判断结果是否为整数
            return {
                'expression': expression,
                'result': int(result),
                'operator': ops,
                'numbers': nums
            }
    except ZeroDivisionError:
        return None

num_range = (1, 20)
num_count = 2
operators = ['+', '-', '*', '/']
expressions = []
for i in range(10):
    expression = generate_expression(num_range, num_count, operators)
    if expression:
        expressions.append(expression)

# 按照算术符号进行归类
classified_expressions = {}
for expression in expressions:
    operator = ''.join(expression['operator'])
    if operator not in classified_expressions:
        classified_expressions[operator] = []
    classified_expressions[operator].append(expression)

# 输出归类结果
print("按照算术符号进行归类:")
for operator, exp_list in classified_expressions.items():
    print(f"算术符号: {operator}")
    for exp in exp_list:
        print(f"表达式: {exp['expression']}")
        print(f"结果: {exp['result']}")
    print()

# 按照数字大小进行排序
sorted_expressions = sorted(expressions, key=lambda x: max(x['numbers']), reverse=True)

# 输出排序结果
print("按照数字大小排序:")
for exp in sorted_expressions:
    print(f"表达式: {exp['expression']}")
    print(f"结果: {exp['result']}")
    print()

在这里插入图片描述

python/自由计算3.2.2.1.py" && exit       < 按照算术符号进行归类:
算术符号: +
表达式: 2 + 1
结果: 3
表达式: 20 + 19
结果: 39
表达式: 1 + 10
结果: 11
表达式: 16 + 5
结果: 21

算术符号: -
表达式: 2 - 5
结果: -3
表达式: 4 - 17
结果: -13

算术符号: *
表达式: 4 * 9
结果: 36
表达式: 14 * 15
结果: 210
表达式: 12 * 1
结果: 12

按照数字大小排序:
表达式: 20 + 19
结果: 39

表达式: 4 - 17
结果: -13

表达式: 16 + 5
结果: 21

表达式: 14 * 15
结果: 210

表达式: 12 * 1
结果: 12

表达式: 1 + 10
结果: 11

表达式: 4 * 9
结果: 36

表达式: 2 - 5
结果: -3

表达式: 2 + 1
结果: 3


#[QPython] Press enter to exit ...

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

考研复试要想顺利通关,务必掌握的一些问题

亲爱的学弟学妹们&#xff0c;大家好&#xff01; 我是研一的学姐&#xff0c;深知考研路上的艰辛与不易。如今&#xff0c;为了回馈广大考研学子&#xff0c;我决定将自己精心整理的考研复试资料拿出来与大家分享&#xff0c;希望能为你们的复试之路添砖加瓦&#xff0c;助你…

JS直接量及其相关对象

什么是直接量 直接量是指不需要创建对象就可以直接使用的变量。ES中的直接量主要有三种类型&#xff1a;表示字符串的string类型、表示数字的number类型和表示true/false的boolean类型。当我们直接将值赋给变量后&#xff0c;ES就会自动判断其类型&#xff0c;而且当参数发生变…

vulhub中Weblogic < 10.3.6 ‘wls-wsat‘ XMLDecoder 反序列化漏洞(CVE-2017-10271)复现

Weblogic的WLS Security组件对外提供webservice服务&#xff0c;其中使用了XMLDecoder来解析用户传入的XML数据&#xff0c;在解析的过程中出现反序列化漏洞&#xff0c;导致可执行任意命令。 访问http://your-ip:7001/即可看到一个404页面&#xff0c;说明weblogic已成功启动 …

缩放算法优化步骤详解

添加链接描述 背景 假设数据存放在在unsigned char* m_pData 里面&#xff0c;宽和高分别是&#xff1a;m_nDataWidth m_nDataHeight 给定缩放比例&#xff1a;fXZoom fYZoom&#xff0c;返回缩放后的unsigned char* dataZoom 这里采用最简单的缩放算法即&#xff1a; 根据比…

万用表你用对了吗?小白必读!

1&#xff0c;数字万用表类型 数字万用表分&#xff1a;手持万用表和台式万用表。 2&#xff0c;万用表基本介绍 &#xff08;1&#xff09;选择开关 万用表的选择开关是一个多档位的旋转开关&#xff0c;用来选择测量档位和量程。一般的万用表测量档位包括如下图&#xff1…

macOS上实现「灵动岛」效果

自从Apple iPhone推出了「灵动岛」功能后&#xff0c;用户们就被其优雅的设计和强大的功能所吸引。然而&#xff0c;作为macOS用户&#xff0c;我们一直在等待这一功能能够在我们的设备上实现。现在&#xff0c;随着新的应用程序的推出&#xff0c;我们终于可以在我们的Mac上体…

Java高频面试之Mysql篇

有需要互关的小伙伴,关注一下,有关必回关,争取今年认证早日拿到博客专家 请说下你对 MySQL 架构的了解&#xff1f; mysql是一个c/s架构的数据库管理系统, 客户端可以是图形化界面,也可以是命令行或者java等程序 服务端由一下组成部分 连接管理器:管理连接,管理线程,验证身…

Docker的安装及MySQL的部署(CentOS版)

目录 1 前言 2 Docker安装步骤 2.1 卸载可能存在的旧版Docker 2.2 配置Docker的yum库 2.2.1 安装yum工具 2.2.2 配置Docker的yum源 2.3 安装Docker 2.4 启动和校验 2.5 配置镜像加速(使用阿里云) 2.5.1 进入控制台 2.5.2 进入容器镜像服务 2.5.3 获取指令并粘贴到…

leetcode 1143. 最长公共子序列【动态规划】

leetcode 1143. 最长公共子序列 int longestCommonSubsequence(char* text1, char* text2) {int len1 strlen(text1);int len2 strlen(text2);int dp[len1 1][len2 1];memset(dp, 0, sizeof(dp));for (int i 1; i < len1; i) {for (int j 1; j < len2; j) {if (t…

Clock Verification IP

Clock Verification IP IP 参数及接口 IP 例化界面 相关函数 start_clock //产生时钟 <hierarchy_path>.IF.start_clockstop_clock //停止时钟 <hierarchy_path>.IF.stop_clockset_initial_value //设置时钟初始值为 0 <hierarchy_path>IF.set_initia…

基于springboot实现图书推荐系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现图书馆推荐系统演示 摘要 时代的变化速度实在超出人类的所料&#xff0c;21世纪&#xff0c;计算机已经发展到各行各业&#xff0c;各个地区&#xff0c;它的载体媒介-计算机&#xff0c;大众称之为的电脑&#xff0c;是一种特高速的科学仪器&#xff0c;比…

【数据结构】用栈实现队列

前言&#xff1a;本节博客分享了用栈实现队列效果的思路以及代码&#xff0c;有需要借鉴即可。 1.题目及链接 LINK 2.思路分析 如果要用栈实现队列&#xff0c;我们直到栈是先入后出的一个效果&#xff0c;所以我们可以用两个栈&#xff0c;这样逆转两次数不就是入栈之前数组…

2023护网蓝初面试

目录 一、渗透测试的流程 二、常见的漏洞 三、中间件漏洞 四、SQL注入原理、种类&#xff1f;防御&#xff1f;预编译原理&#xff0c;宽字节注入原理 预编译原理&#xff1a; 宽字节注入原理&#xff1a; 五、XSS的种类有哪些&#xff1f;区别&#xff1f;修复&#xf…

【每日刷题】栈与队列-LC394、LC347、LC215

题外话&#xff1a;感觉脑子没长到栈这块…最近刷栈的题都好难啊…哭哭…坚持坚持&#xff01;多刷几遍就好了&#xff01;&#xff01; 1. LC394.字符串解码 题目链接 先说数据结构。 维护两个栈&#xff1a;一个栈存之前的字符串&#xff0c;另一个栈存之后的字符串的重复…

深入解析汽车MCU的软件架构

一、背景知识 电动汽车&#xff08;EV&#xff09;正在成为首选的交通方式&#xff0c;为传统内燃机汽车提供了一种可持续发展的环保型替代方案。在电动汽车复杂的生态系统中&#xff0c;众多电子控制单元&#xff08;ECU&#xff09;在确保其高效运行方面发挥着至关重要的作用…

HashSet在添加元素时,是如何判断元素重复的?

前言&#xff1a;我们知道Set中所存储的元素是不重复的&#xff0c;那么Set接口的实现类HashSet在添加元素时是怎么避免重复的呢&#xff1f; HashSet在添加元素时&#xff0c;是如何判断元素重复的? ● 在底层会先调用hashCode()&#xff0c;注意&#xff0c;Obje…

计算机系统

一、进制的转换 1.进制的表示 二进制&#xff08;B&#xff09;&#xff1a; 0&#xff0c;1&#xff0c;10 八进制&#xff08;O&#xff09;&#xff1a; 0&#xff0c;1&#xff0c;2&#xff0c;7&#xff0c;10&#xff0c;11 十进制&#xff08;D&#xff09;&#xff…

【c++】string模拟实现

string类的接口 namespace zjw {class string{public:typedef char* iterator;typedef const char* const_iterator;private:char* _str;int _size;int _capacity;};这里的迭代器直接使用原生指针来封装。 _str为指向string数组的首地址的指针。 _size为string数组的大小。 …

基于机器学习的网络入侵检测二元分类模型构建与性能评估(NSL-KDD数据集)

简介 该项目是一个基于NSL-KDD数据集的网络入侵检测系统&#xff0c;主要采用机器学习方法对网络流量数据进行使用了多种机器学习模型&#xff0c;如逻辑回归、线性SVM、多项式核SVM、高斯核SVM、决策树、随机森林、朴素贝叶斯和K近邻算法训练二元分类&#xff08;正常/异常&a…

漫谈技术成长

引言 相信很多程序员在自己的技术成长之路上&#xff0c;总会遇到许许多多的难关&#xff0c;有些难关咬咬牙就过去了&#xff0c;而有点难关则需要有一定的能力&#xff0c;才能克服。因此&#xff0c;本文主要围绕“技术成长” 话题&#xff0c;为何会选择技术方向&#xff0…