# 定义变量字典
variables = {
'k01': 5920, 'k05': 13216, 'k06': 18928, 'k09': 26656, 'ipx9k': 5920,
'ipx6k': 2272, 'k13': 6368, 'k18': 118656, 'm036kx': 2272, 'ipx7': 2272,
'pv12096': 194640, 'pv120924': 533952, 'ddw': 112, 'ptl': 19616, 'pts': 2320,
'qm': 300, 'cj': 1504
}
def calculate_expression(expr, vars_dict):
"""计算表达式并返回结果"""
try:
# 替换变量名为对应的值
for var in vars_dict:
expr = expr.replace(var, str(vars_dict[var]))
# 计算表达式
return eval(expr)
except:
return None
# 要计算的表达式
expressions = [
'k01+ptl+k05+pts+pts+pts+k06+pts+k09+pts+ipx7+pts+k13+ptl+cj',
'qm+qm+cj'
]
# 计算并输出结果
for expr in expressions:
result = calculate_expression(expr, variables)
if result is not None:
print(f"{expr} = {result}")
else:
print(f"计算表达式 '{expr}' 时出错")
# 可选:显示所有变量和值
print("\n所有变量及其值:")
for var, value in variables.items():
print(f"{var}: {value}")
eval() 是 Python 的一个内置函数,用于执行字符串形式的 Python 表达式并返回结果。它可以动态计算数学表达式、调用函数,甚至执行复杂的代码逻辑。但在使用时需要特别注意安全性问题。
x = 10
expr = "x * 2 + 5"
result = eval(expr) # 计算字符串表达式
print(result) # 输出 25
是用来将表达式字符串中的变量名(如 k01)替换为其对应的数值(如 5920)。
expr = expr.replace(var, str(vars_dict[var]))