Python除法报TypeError: 'NoneType'与'int'不支持/操作符如何修复
报错触发原因
Python内置的print()函数作用是向控制台输出内容,本身没有返回值,所有无显式返回值的Python函数执行后都会默认返回None类型值。
你的代码里把print()的执行结果赋值给了变量c,此时c实际存储的是None,而非你预期的a**2 + b**2的计算结果。后续执行c/2时,相当于对None和整数2做除法运算,Python不支持NoneType与数值类型的算术操作,就会抛出对应TypeError。
修复方案
调整赋值逻辑:先把平方和的计算结果赋值给c,需要输出时单独调用print()即可,不要把print()的返回值作为计算结果存储。
修正后的可运行代码:
a = int(float(input("Add : "))) b = int(float(input("Add : "))) c = a**2 + b**2 print(" = ", c) print(c/2)
补充说明:如果需要得到舍去小数部分的整数除法结果,可以把最后一行的/替换为整数除法运算符//。
内容的提问来源于stack exchange,提问作者Khaozz
相关产品推荐
相关产品推荐

