【发布时间】:2019-12-14 21:17:48
【问题描述】:
所以问题来了:
letsSay = "!math 74*11"
l = letsSay.split("!math ")[1]
formatted = f"{l}"
print(formatted)
它输出“74*11”而不是做操作,如何让它先做操作?
【问题讨论】:
-
可能使用
eval() -
因为
split的输出是字符串而不是表达式。您可以使用eval函数强制评估此类字符串。 -
不!不要使用
eval,也不推荐eval!这是非常危险的。 -
这需要解析你的字符串。 1)检测术语,并转换为正确的类型(int,float) 2)检测运算符,并转换为正确的python运算符。然后你就可以计算了。这并不简单。见this answer
标签: python python-3.x