python写脚本时报错TypeError:‘builtin_function_or_method’ object is not subscriptable的解决方法
今天写一个进行python练习时,写了一个小脚本,需要调用python内置函数math中的sqrt函数,运行代码时出现错误TypeError: ‘builtin_function_or_method’ object is not subscriptable,仔细思考了一下,然后找到了解决方法。
import math
a = float(input('a = '))
b = float(input('b = '))
c = float(input('c = '))
if a + b > c and a + c > b and b + c > a:
perimeter = a + b + c
area = 1 / 4 * math.sqrt[(a + b + c) * (a + b - c) * (a + c - b) * (b + c - a)]
print('周长是%.2f,面积是%.2f' % (perimeter, area))
else:
print("不能构成三角形")
运行结果:
a = 3
b = 4
c = 5
Traceback (most recent call last):
File "C:/Users/XXXXXX.py", line 8, in <module>
area = 1 / 4 * math.sqrt[(a + b + c) * (a + b - c) * (a + c - b) * (b + c - a)]
TypeError: 'builtin_function_or_method' object is not subscriptable
Process finished with exit code 1
原因是内置函数math.sqrt()应该用( )而不是[ ],不能吧函数当成字典使用!
修改后:
import math
a = float(input('a = '))
b = float(input('b = '))
c = float(input('c = '))
if a + b > c and a + c > b and b + c > a:
perimeter = a + b + c
area = 1 / 4 * math.sqrt((a + b + c) * (a + b - c) * (a + c - b) * (b + c - a))
print('周长是%.2f,面积是%.2f' % (perimeter, area))
else:
print("不能构成三角形")
再次运行,运行结果:
a = 3
b = 4
c = 5
周长是12.00,面积是6.00
Process finished with exit code 0
注意:
上述我使用的时pycharm编辑器