如何将python中的str文本转换成int文本?

2024-04-27 00:52:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我想制作一个程序,其中用户键入一个函数(“3*x+3”,例如),程序从一个特定的x值获得Y值。你知道吗

其思想是,在用户键入“3*x+3”之后,程序将x替换为3,并打印Y的值,在本例中是12。你知道吗

这是我做的代码:

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

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

ValueError: invalid literal for int() with base 10: '3*x+3'

这只发生在我键入一个带有变量的表达式时(即使它们是以前定义的)。我认为“int()”只适用于只有数字的str文本,但我需要它来处理数字和变量(当然是定义的)。你知道吗

我应该用什么来代替int()3*x+3str改成int?你知道吗


Tags: 函数代码用户程序inputraw键入定义
1条回答
网友
1楼 · 发布于 2024-04-27 00:52:01

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

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

相关问题 更多 >