0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

函数计算器

分享:

以下是一个功能丰富的函数计算器实现,支持常用数学运算和函数:

import math

def 函数计算器():
    """支持表达式计算的函数计算器"""

    # 定义支持的函数和常量
    常量 = {
        'π': math.pi, 'pi': math.pi, 'e': math.e
    }

    函数库 = {
        # 基本运算
        'add': lambda a, b: a + b,
        'sub': lambda a, b: a - b,
        'mul': lambda a, b: a * b,
        'div': lambda a, b: a / b,
        'pow': lambda a, b: a ** b,
        'mod': lambda a, b: a % b,
        # 三角函数(弧度制)
        'sin': math.sin,
        'cos': math.cos,
        'tan': math.tan,
        # 反三角函数
        'asin': math.asin,
        'acos': math.acos,
        'atan': math.atan,
        # 对数函数
        'log': math.log,
        'log10': math.log10,
        'log2': math.log2,
        # 其他函数
        'sqrt': math.sqrt,
        'abs': abs,
        'round': round,
        'fact': math.factorial,
        'deg': math.degrees,   # 弧度转角度
        'rad': math.radians,   # 角度转弧度
    }

    print("="*40)
    print("函数计算器使用说明".center(35))
    print("="*40)
    print("支持的函数: sin, cos, tan, asin, acos, atan")
    print("          log, log10, log2, sqrt, abs")
    print("          round, fact(阶乘), deg(转角度), rad(转弧度)")
    print("常量: π(或pi), e")
    print("示例: sin(rad(30)) + log10(100) * 2^3")
    print("输入 '退出' 结束程序")
    print("="*40)

    while True:
        输入 = input(">>> ").strip().lower()

        if 输入 in ['exit', 'quit', '退出', 'q']:
            print("计算器已关闭")
            break

        if not 输入:
            continue

        try:
            # 预处理:替换中文符号和常量
            输入 = (输入.replace('^', '**')
                   .replace('π', 'pi')
                   .replace('÷', '/')
                   .replace('×', '*'))

            # 安全验证(仅包含允许的字符)
            if not all(c in "abcdefghijklmnopqrstuvwxyz0123456789.+-*/%()^!<>|&_= " for c in 输入):
                raise ValueError("包含非法字符")

            # 添加隐式乘法(如 2π → 2*π)
            tokens = []
            for i, char in enumerate(输入):
                if tokens and (
                    (tokens[-1].isdigit() and char.isalpha()) or 
                    (tokens[-1] == ')' and char.isalnum()) or
                    (tokens[-1].isalpha() and char == '(')
                ):
                    tokens.append('*')
                tokens.append(char)
            输入 = ''.join(tokens)

            # 执行计算
            result = eval(输入, {}, {**常量, **函数库})
            print(f"结果: {result}")

        except Exception as e:
            print(f"错误: {str(e)}")

# 启动计算器
if __name__ == "__main__":
    函数计算器()

主要功能特点:

  1. 数学运算

    • 基本运算:+ - * /
    • 幂运算:^**(如 2^3=8)
    • 取模:mod(a,b)
    • 括号优先级:( )
  2. 数学函数

    • 三角函数:sin, cos, tan(弧度制)
    • 反三角函数:asin, acos, atan
    • 对数函数:log(自然对数),log10(常用对数),log2(二进制对数)
    • 其他:sqrt(开平方),abs(绝对值),round(四舍五入),fact(阶乘)
  3. 单位转换

    • deg():弧度转角度
    • rad():角度转弧度
  4. 智能处理

    • 自动识别常量(π≈3.1416,e≈2.7183)
    • 隐式乘法处理(如自动转2*π
    • 中文符号支持(×÷→*/)
  5. 使用示例

    >>> sin(rad(30)) + 2^3
    结果: 8.5
    
    >>> fact(5) / (4*3)
    结果: 10.0
    
    >>> log10(1000) + 2π
    结果: 9.283185307179586

安全特性:

  1. 禁止危险函数(如evalexec
  2. 输入过滤(仅允许数学字符)
  3. 隔离执行环境

注意:实际使用时请确保输入合法表达式,复杂计算建议分步进行。

如何实现一款具有计算,文本阅读的函数计算器

如何实现一款具有计算,文本阅读的函数计算器呢????

Me杰 2022-10-24 23:14:02

用Behavioral Voltage Sources创建任意波形

通过使用 Behavioral Voltage Sources (BV),可以将 Excel 和函数计算器中可利用的函数、算术运算符编入信号源。

2023-06-18 09:38:50

函数计算器如何加改电子书?

`有没有发烧大侠能够设计出这样一个计算器,除了电子书和计算器以外的功能以外的,能够封装在得力计算器或者是卡西欧计算器里面,显示屏也用得力的这种LCD的`

Me杰 2021-04-15 16:43:10

如何使用Arduino构建一个计算器

在本教程中,我们将使用 Arduino 构建自己的计算器。这些值可以通过键盘(4×4 键盘)发送,结果可以在 LCD 屏幕上查看(16×2 点阵)。该计算器可以执行简单的运算,例如整数的加法,减法,乘法和除法。但是一旦你理解了这个概念,你甚至可以使用Arduino的内置函数实现科学函数

2022-11-21 17:43:29

AWTK 开源串口屏开发(13) - 计算器应用

计算器是一个常见的应用程序,在AWTK串口屏中,利用fscript表达式计算函数,无需编写一行传统的代码,即可实现一个简单的计算器应用程序。1.功能计算器是一个很常见的应用,比如在电子秤中,可能

2024-03-16 08:23:52

实用的电工计算器

摘要实用的电工计算器。已完美特别软件信息电工计算器中文特别版app是一款电工的好帮手:电工计算器,电工要掌握的知识其实很多很杂乱,而且牵扯到很多的计算。分享一个电工专用的小工具--电工计算器,由芊芊

60user157 2021-09-02 06:18:01

ADC/DAC精度计算器教程

精度计算器(ACCU)有助于数据转换应用电路的设计和分析。它计算理想数据转换的直流精度,涵盖模数转换(ADC)和数模转换(DAC)。数据转换的直流精度是与理想线性传递函数的最大偏差的量度

2023-02-07 14:36:57

基于STM32设计的计算器(实现基本运算)

计算器是最常见的工具了,现在不管是手机、电脑都带有计算器功能,支持强大的科学运算等。

2022-05-18 10:56:15

OpenHarmony开发案例:【分布式计算器

使用分布式能力实现了一个简单的计算器应用,可以进行简单的数值计算,支持远程拉起另一个设备的计算器应用,两个计算器应用进行协同计算

2024-04-11 15:24:22

基于FPGA的电子计算器设计

在国外,电子计算器在集成电路发明后,只用短短几年时间就完成了技术飞跃,经过激烈的市场竞争,现在的计算器技术己经相当成熟。

2023-02-13 09:11:58

计算器是怎么实现的呢

大家都用过计算器,有没有想过它是怎么实现的呢?这里我不详述计算器的原理,而只对思路进行简单介绍。等我们学会了单片机,也可以亲手制作一个计算器

abdkjshd 2021-11-09 09:07:09

科学计算器开根号怎么按_科学计算器怎么关机

以下为用卡西欧科学计算器求100的平方根的过程。

2021-05-21 14:32:28

热噪声计算器教程

热噪声计算器 (TNC) 是为 HP 50g 计算器编写的程序,有助于分析电阻和其他噪声源中的热噪声。TNC发现任何器件产生的噪声电压,如果其白噪声频谱密度和1/f转折频率已知。可以输入或找到每个

2023-01-10 14:55:37

人工智能计算器好不好

人工智能计算器好不好?这是一个非常值得探究的问题。在本文中,我们将探讨人工智能计算器的优点和缺点,同时也会分析它对我们日常生活和工作的影响。 首先,让我们来看看人工智能计算器的优点。第一个优点显然是

2023-08-15 16:07:37

科学计算器使用教程_科学计算器怎么解方程

本文主要介绍了科学计算器使用教程及解方程的方法。

2021-05-21 14:28:13

关于Windows计算器!微软开源了Windows计算器的路线图

Windows 开源计算器的事件很快就在社交网络上引发了一股风潮,人们纷纷登陆 GitHub 开始尝试。查看计算器代码显然是了解最新微软技术(如通用 Windows 平台、XAML 和 Azure)的好主意。也有人呼吁微软开源更多程序的代码,目前呼声最高的是「纸牌」程序。

2019-03-11 16:37:10

科学计算器怎么算n次方_科学计算器的度分秒怎么按

很多小伙伴们再问计算器怎么算n次方,今天就来跟大家说一说。

2021-05-21 14:41:51

基于Arduino的编程计算器

描述Arduino Nano 编程计算器基于Arduino的编程计算器,用于教育和娱乐。成分Arduino纳米LCD1602 16x2 带 I2C 模块25 件装触觉按钮开关 6x6x5 毫米蜂鸣器PCB代码https://github.com/hjltu/hjcalc

北上北京 2022-09-09 07:04:21

HarmonyOS开发案例:【计算器

基于基础组件、容器组件,实现一个支持加减乘除混合运算的计算器

2024-05-07 15:31:08

简易计算器

` 本帖最后由 chattychen 于 2019-2-27 14:29 编辑 简易计算器,直接输入公式即可`

chattychen 2019-01-22 16:19:55

如何使用TFT LCD构建Arduino触摸屏计算器

在这个项目中,我们将使用2.4英寸Arduino TFT LCD屏幕来构建我们自己的Arduino触摸屏计算器,该计算器可以执行所有基本计算,如加法,减法,除法和乘法。

2023-01-25 17:06:00

基于labview做的科学计算器与Windows自带计算器相似

有没有大佬分享基于labview的科学计算器论文,和Windows自带的计算器功能相近,可以进行进制转换等高级操作的,论坛里面虽然有源代码,小白看不懂。急需论文。

流年0转瞬 2019-05-05 08:58:36

拆解也怀旧,让人惊叹的可编程科学计算器 from 1966

数千年的历史。 而我们今天要看到机器——王安实验室研发LOCI-2型计算器(Wang LOCI-2 calculator)——是桌上型计算器时代的产物。 这款机器设计于1965年,是一款可显示10位数字的晶体管桌上型计算器,使用数字管显示,能成功的执行对数和反对数函数,平

2018-12-17 20:05:01

封装热分析计算器教程

封装热分析计算器 (PTA) 是为 HP 50g 计算器编写的程序,有助于分析 IC 封装热。使用数据表参数,从芯片(结点)、外壳到环境跟踪热量和耗散。探讨了最大结温下的功率降额因数和最大功耗。

2023-02-10 11:10:37

转换计算器增加了可靠性

转换计算器增加了可靠性

2023-01-03 09:45:02

电子语音计算器语音ic芯片所带来的价值

电子计算器主要由电源、显示屏、按键、电子回路等组成,可以计算加减乘除等其他基本函数。 电子计算器增加语音芯片功能所带来的价值 目前使用的计算器都是滴滴声音,很多时候是不是自己误按

2021-12-06 16:23:16

labview中级计算器

求labview中级计算器的视频,完整版的

jf_65555199 2019-12-12 14:37:23

如何使用封装热分析计算器(PTA)的简短指南

本文档是关于如何使用封装热分析计算器(PTA)的简短指南,该工具由Maxim Integrated设计,可简化热IC封装分析。包括使用该工具必不可少的参数,以及示例,以更好地了解用户。 封装热分析

2021-05-07 16:35:43

pcb过孔电流计算器怎么用

PCB过孔电流计算器是一种用于计算PCB板上过孔电流的工具。过孔是PCB板上的重要元件,用于连接不同层之间的电路。过孔的电流大小对于PCB板的性能和稳定性具有重要影响。因此,正确使用PCB过孔电流计算器

2023-12-14 16:20:00

基于51单片机的简易计算器设计

计算器系统51 系列的单片机进行的数字计算器系统设计,可以完成计算器的键盘输入, 进行加、 减、乘、除的简单四则运算,并在 LCD屏幕上相应的显示结果。选择内部存储资源丰富的 51 单片 机,输入

2023-08-01 00:51:27

加载更多
函数计算器相关专题
相关标签