繁体   English   中英

如何在python中将str文字转换为int文字?

[英]How do I change a str literal into a int literal in python?

我想制作一个程序,其中用户键入一个函数(例如“ 3 * x + 3”),并且该程序从特定的x值获取Y值。

这个想法是,在用户键入“ 3 * x + 3”之后,程序将x替换为3,并输出Y的值,在这种情况下为12。

这是我编写的代码:

K=raw_input()
x=3
result = int(K)
print (result)

当我执行程序并编写函数时,出现错误:

ValueError:以10为底的int()的无效文字:'3 * x + 3'

仅当我键入带有变量的表达式(即使它们先前已定义)时,才会发生这种情况。 我认为“ int()”仅适用于仅具有数字的str文字,但是我需要它用于数字和变量(当然是定义的)。

我应该使用什么代替int()3*x+3str更改为int

如果您不介意其他依赖项,则可以使用numexpr (第三方模块,不完全是轻量级的,但支持很多选项)及其evaluate函数完全可以满足您的需要:

import numexpr
x = 3
K = "3*x+3"
result = numexpr.evaluate(K).item()
print(result)  # 12

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM