You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python接收多输入进行数学运算出现TypeError报错如何解决

报错原因

input() 函数的返回值默认是字符串类型,调用split()拆分后得到的x、y、z三个变量仍然是字符串格式,字符串和整数无法直接做算术运算,因此会抛出对应类型错误。

修复后的代码

只需要在拆分输入的同时,把三个边长转换为浮点型(兼容整数、小数格式的边长输入)即可,完整代码如下:

import math
x, y, z = map(float, input("Enter side lenghts of the triangle: ").split())
s = (x + y + z) / 2
area = math.sqrt(s * (s - x) * (s - y) * (s - z))
print("Area of the triangle is: ", area, ".", sep="")

如果需要适配中文使用场景,也可以把输入、输出的提示文字替换为中文内容。

多输入场景通用处理方法

如果需要处理任意数量的数值输入场景,通用写法是先拆分所有输入内容,再批量转换为数值类型,再做后续运算,示例如下:

# 示例:接收多个数值输入计算平均值
num_list = list(map(float, input("请输入多个数值,空格分隔:").split()))
avg = sum(num_list) / len(num_list)
print(f"平均值为:{avg}")

内容的提问来源于stack exchange,提问作者Doğa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 17:06:03