【问题标题】:How do i convert a 'string' maths equation to int on python? [duplicate]如何在 python 上将“字符串”数学方程转换为 int? [复制]
【发布时间】:2020-05-02 08:08:32
【问题描述】:

假设我有一个字符串 '1+1',是否可以将其转换为一个简单的 'int' 方程 (1+1) 得到 2? 我试过 int('1+1') 但我得到了 ->ValueError: int() 以 10 为底的无效文字:'1+1'

【问题讨论】:

  • eval 可能是您完成此操作所需要的。 print(eval('1+1'))。由于1+1这里是字符串,int('1+1')不能解析,但是int('1') + int('1')可以
  • 答案很大程度上取决于你想要完成多少。例如,您是否只想解决总和?还是减法,乘法等?以及有多复杂?如果是这样,我会更新问题以指定,以便您获得更详细的答案:)
  • 这能回答你的问题吗? Evaluating a mathematical expression in a string

标签: python casting int


【解决方案1】:

您将需要一个解析器(或例如ast.literal_eval()eval(),它们基本上是或基于解析器构建的):

string = '1+1'
result = eval(string)
print(result)

【讨论】:

    【解决方案2】:

    使用eval():

    print(eval(‘1+1’))
    2
    

    【讨论】:

    • 请不要只发布代码作为答案,还要解释您的代码的作用以及它如何解决问题的问题。带有解释的答案通常更有帮助,质量更高,更有可能吸引投票。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-16
    • 2014-10-17
    • 2012-07-04
    • 2011-06-18
    • 2017-06-08
    相关资源
    最近更新 更多