Python计算三角形面积报unsupported operand错误如何解决
错误定位
- 报错信息明确指向
area=float(height*base)/2行,错误类型为TypeError,说明参与*运算的两个变量类型不符合要求,均为NoneType - 向上排查
height和base的赋值逻辑:Python中print()函数仅负责向控制台输出内容,本身无返回值,默认返回None。你的代码中直接将print()的执行结果赋值给两个变量,导致两个变量最终存储的值都是None,自然无法执行乘法运算。
错误修复
将变量赋值和打印操作拆分,先接收用户输入转为浮点型赋值给变量,再按需执行打印操作即可,修复后代码如下:
height = float(input("Enter height ")) base = float(input("Enter base ")) # 若需要打印确认输入的值,可单独执行打印语句 # print(height) # print(base) area = (height * base) / 2 print('Area of triangle is: ', area)
额外说明:原代码中
float(height*base)的类型转换属于冗余操作,height和base本身已经是浮点型,相乘后的结果默认也是浮点型,无需额外转换。
内容的提问来源于stack exchange,提问作者Siddhant
相关产品推荐
相关产品推荐

