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

如何一次性输入包裹的三个尺寸参数?Python程序报错求助

包裹尺寸验证Python程序修正

原代码存在的问题

  • 输入获取错误:不能用float()包裹输入提示字符串,应该用input()获取用户输入的字符串。
  • 字符串拆分错误:分隔符使用',,'不符合输入格式(用户用逗号分隔),且变量名M1和后续使用的M不统一。
  • 未定义变量:L、W、T未定义,K的计算无意义;条件中的x也未定义,属于语法错误。
  • 条件判断语法错误:数值比较的写法不符合Python语法,比如float(M[0]) 100 <= x <= 600是错误的,应该直接对转换后的数值进行范围判断。

修正后的代码

# 获取用户输入,格式为length,width,thickness(毫米)
measure_input = input('Specify in mm measurements length,width,thickness: ')
# 按逗号拆分输入字符串,得到三个尺寸的字符串列表
dimensions = measure_input.split(',')

# 将字符串转换为浮点数,并赋值给对应的变量
length = float(dimensions[0])
width = float(dimensions[1])
thickness = float(dimensions[2])

# 计算尺寸总和
total = length + width + thickness

# 验证尺寸是否符合要求
if 100 <= length <= 600 and width <= 100 and thickness <= 90 and total <= 900:
    print('Allowed!')
else:
    print('Not allowed!')

代码说明

  1. 输入处理:用input()获取用户输入的字符串,再通过split(',')按逗号拆分,得到三个尺寸的字符串。
  2. 类型转换:将拆分后的字符串转换为浮点数,方便进行数值计算和比较。
  3. 条件判断:直接针对每个尺寸变量进行范围验证,确保语法正确,逻辑清晰。
  4. 总和计算:先定义好各个尺寸变量后,再计算总和,避免未定义变量的错误。

额外提示

如果需要处理用户输入不规范的情况(比如输入不是三个数值、输入包含非数字字符),可以添加异常处理:

try:
    measure_input = input('Specify in mm measurements length,width,thickness: ')
    dimensions = measure_input.split(',')
    length = float(dimensions[0])
    width = float(dimensions[1])
    thickness = float(dimensions[2])
    total = length + width + thickness
    
    if 100 <= length <= 600 and width <= 100 and thickness <= 90 and total <= 900:
        print('Allowed!')
    else:
        print('Not allowed!')
except (ValueError, IndexError):
    print('Invalid input! Please enter three numbers separated by commas.')

内容的提问来源于stack exchange,提问作者mathbeforepython

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 18:15:46