You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Python用户输入的内容作为代码而非字符串执行

Python执行输入的算术表达式的实现方法

方法1:直接使用eval()(仅适合输入完全可信的场景)

这是最简实现方案,eval()函数可以直接将符合Python语法的字符串作为代码执行:

x = input('Enter a operation: ') # 当用户输入 4*3**2
print('Answer is:', eval(x)) # 输出结果:Answer is: 36

风险提示:eval()无差别执行所有传入的Python代码,如果输入来源不可控,恶意用户可能传入执行系统指令、删除文件等有害代码,造成严重安全问题。


方法2:增加输入校验后执行(适合公开使用的场景)

如果需要面向不可信用户提供服务,可先通过白名单规则校验输入内容,仅允许算术运算相关的合法字符传入后再执行计算:

import re

exp = input('Enter a operation: ')
# 白名单仅允许数字、四则运算符、幂运算符、括号、小数点、空格出现
if not re.fullmatch(r'[\d+\-*/()**. ]+', exp):
    print('非法输入,仅支持标准算术运算表达式')
else:
    print('Answer is:', eval(exp))

内容的提问来源于stack exchange,提问作者DANIEL1475

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.08 04:12:02