Python报错:'tuple'与'int'间不支持'<='运算,求排查解决
错误排查与修复
核心问题分析
- 元组与整数非法比较:代码里的
if (width, length <= 50):会被解析成创建一个包含width和length <=50结果的元组,随后试图将这个元组和整数50做<=比较,这是Python不支持的操作,直接触发TypeError。 - 变量赋值错误:
width = random.randrange和length = random.randrange是把randrange函数本身赋值给了变量,而非调用函数生成随机整数,导致变量存储的是函数对象而非数值。
修复后的代码
import random def football(length, width): return length * width # 调用randrange生成指定范围的随机整数,示例范围为0-99,可按需调整 width = random.randrange(100) length = random.randrange(100) print(random.randrange(200)) # 修正判断逻辑:检查width和length是否都<=50 if width <= 50 and length <= 50: print('yes') else: print('no')
修复说明
- 调整变量赋值:给
randrange传入范围参数,调用函数获取随机整数赋值给width和length。 - 修改判断逻辑:用
and连接两个独立的条件判断,明确检查两个变量是否都满足<=50的要求,符合代码原本的判断意图。
内容的提问来源于stack exchange,提问作者mahdi razmi
相关产品推荐
相关产品推荐

