python问题,数据类型转换!

d=(6136 + 758) * (2381 - 68) - (902 + 490 - 316) * 418
type(d)=str

请问如何直接计算出d的数值?

可以使用 eval 进行转换计算,如下:

import re,requests
url='http://ctf5.shiyanbar.com/jia/index.php'
rst=requests.get(url)
guize=re.compile(r'<div name=\'my_expr\'>(.*?)</div>=?')
gongshi=guize.findall(rst.text)
d=re.sub(r'x','*',str(gongshi[0]))
a=12*14+15

result = eval(d)

print result

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-07-15
print(d) 打印d的值追问

打印出来的是(6136 + 758) * (2381 - 68) - (902 + 490 - 316) * 418,不是我想要的d的数值!

追答>>> d=(6136 + 758) * (2381 - 68) - (902 + 490 - 316) * 418
>>> print(d)
15496054

追问

import re,requests
url='http://ctf5.shiyanbar.com/jia/index.php'
rst=requests.get(url)
guize=re.compile(r'(.*?)=?')
gongshi=guize.findall(rst.text)
d=re.sub(r'x','*',str(gongshi[0]))
a=12*14+15
print d
我的问题可能表述的不太清楚,代码给你帮我看下!谢啦

相似回答