RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 614456
Accepted
Алексей Воронов
Алексей Воронов
Asked:2020-01-14 03:49:14 +0000 UTC2020-01-14 03:49:14 +0000 UTC 2020-01-14 03:49:14 +0000 UTC

表达式的用户输入

  • 772

使用函数input(),用户可以在运行时输入一个值,该函数以字符串形式返回该值。并且借助这些字符串的类型转换函数,您可以获得整数、浮点数等。例如,a = int(input())。

但这里是如何让用户输入功能,如:

一个 sin(2πƒt + Ø)

进入函数后,将对其进行各种操作(计算值、绘制图形等)。

python
  • 2 2 个回答
  • 10 Views

2 个回答

  • Voted
  1. Best Answer
    MaxU - stop genocide of UA
    2020-01-14T05:27:49Z2020-01-14T05:27:49Z

    根据你想对输入的公式做什么——我会关注两个模块:SymPy用于方程的解析和数值解、绘图等,NumExpr用于对输入的公式进行快速、安全的数值计算,支持 numpy, scipy 、数组、变量等

    数字表达式示例

    将 NumExpr 与 Numpy 数组一起使用的示例:

    import numpy as np
    import numexpr as ne
    
    In [84]: a, b = np.random.rand(2, 5)
    
    In [85]: a
    Out[85]: array([ 0.05399168,  0.85873638,  0.73317032,  0.17825897,  0.83083985])
    
    In [86]: b
    Out[86]: array([ 0.19115417,  0.66216767,  0.51021111,  0.5816862 ,  0.72958694])
    
    In [87]: ne.evaluate('sin(a)**2 + cos(a)**2')
    Out[87]: array([ 1.,  1.,  1.,  1.,  1.])
    

    矩阵乘法:

    In [92]: m1 = np.array([[1,2], [3,4]])
    
    In [93]: m2 = np.array([[10, 10]])
    
    In [94]: m1
    Out[94]:
    array([[1, 2],
           [3, 4]])
    
    In [95]: m2
    Out[95]: array([[10, 10]])
    
    In [96]: ne.evaluate('m1 * m2')
    Out[96]:
    array([[10, 20],
           [30, 40]], dtype=int32)
    

    SymPy 用法示例:

    from sympy import *
    x, y, z, t = symbols('x y z t')
    

    打开括号:

    In [75]: ((x+y)**2 * (x+1)).expand()
    Out[75]: x**3 + 2*x**2*y + x**2 + x*y**2 + 2*x*y + y**2
    

    简化表达式:

    In [76]: simplify((x**2 - y**2) / (x - y)**2)
    Out[76]: (x + y)/(x - y)
    

    方程解:

    In [77]: solve(Eq(x**3 + 2*x**2 + 4*x + 8, 0), x)
    Out[77]: [-2, -2*I, 2*I]
    

    线性方程组的解:

    In [78]: solve([Eq(x + 5*y, 2), Eq(-3*x + 6*y, 15)], [x, y])
    Out[78]: {x: -3, y: 1}
    

    不定积分的解析解:

    In [79]: integrate(x**2 * cos(x), x)
    Out[79]: x**2*sin(x) + 2*x*cos(x) - 2*sin(x)
    

    或者

    In [100]: init_printing(use_unicode=False, wrap_line=False, no_global=True)
    
    In [101]: intgrl = Integral(sin(1/x), (x, 0, 1)).transform(x, 1/x)
    
    In [102]: intgrl
    Out[102]:
     oo
      /
     |
     |  sin(x)
     |  ------ dx
     |     2
     |    x
     |
    /
    1
    

    ...

    • 3
  2. user233816
    2020-01-14T04:34:02Z2020-01-14T04:34:02Z

    你可以用一种简单的方式试试这个

    import math
    from math import sin
    from math import pi
    c = eval(input('sin(2*pi*(x+y))'))
    print (c)
    
    • -1

相关问题

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    Python 3.6 - 安装 MySQL (Windows)

    • 1 个回答
  • Marko Smith

    C++ 编写程序“计算单个岛屿”。填充一个二维数组 12x12 0 和 1

    • 2 个回答
  • Marko Smith

    返回指针的函数

    • 1 个回答
  • Marko Smith

    我使用 django 管理面板添加图像,但它没有显示

    • 1 个回答
  • Marko Smith

    这些条目是什么意思,它们的完整等效项是什么样的

    • 2 个回答
  • Marko Smith

    浏览器仍然缓存文件数据

    • 1 个回答
  • Marko Smith

    在 Excel VBA 中激活工作表的问题

    • 3 个回答
  • Marko Smith

    为什么内置类型中包含复数而小数不包含?

    • 2 个回答
  • Marko Smith

    获得唯一途径

    • 3 个回答
  • Marko Smith

    告诉我一个像幻灯片一样创建滚动的库

    • 1 个回答
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Алексей Шиманский 如何以及通过什么方式来查找 Javascript 代码中的错误? 2020-08-03 00:21:37 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    user207618 Codegolf——组合选择算法的实现 2020-10-23 18:46:29 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5