Python计算三角形边长代码报str与int不支持除法TypeError求助
错误原因
你遇到的报错是类型不匹配导致的:
- Python 中
input()函数的返回值默认是字符串类型,你获取用户输入的边长后没有做数值类型转换,直接将字符串传入find函数执行除法运算,触发了字符串和整数不能做算术运算的报错。
修复方案
只需要修改获取边长输入的代码行,将输入值强制转换为数值类型即可,推荐转成浮点数,可以同时兼容整数、小数两种输入场景:
# 替换原来的 dl=input("Podaj długość: ") 行 dl = float(input("Podaj długość: "))
如果业务场景仅需要支持整数输入,也可以转成整数类型:
dl = int(input("Podaj długość: "))
补充说明
修复后你代码的30-60-90特殊直角三角形边长计算逻辑可以正常运行,不需要修改其他部分。另外你代码开头定义的全局变量a、b、x、c等都没有实际用到,后续可以清理冗余代码。
内容的提问来源于stack exchange,提问作者DrEsperanto
相关产品推荐
相关产品推荐

