Python切片索引类型错误求助:非整数索引触发TypeError
问题解决:切片索引必须为整数的TypeError错误
错误原因
你遇到的TypeError是因为切片的索引必须是整数类型,但代码里的SCREEN_SIZE[1] / font_height使用了普通除法/,运算结果是浮点数(比如屏幕高度600、字体高度20时,结果是30.0),浮点数无法作为切片的索引值。
修正方案
有两种简单的修正方式,任选其一即可:
方式1:使用整数除法//
整数除法//会直接返回整数结果(向下取整),完全符合切片对整数索引的要求:
event_text = event_text[- (SCREEN_SIZE[1] // font_height):]
注意添加括号确保运算优先级,避免语法错误。
方式2:用int()转换为整数
显式将浮点数结果转为整数,int()会自动截断小数部分:
event_text = event_text[- int(SCREEN_SIZE[1] / font_height):]
补充说明
两种方式在你的场景下效果一致,因为屏幕高度与字体高度的比值通常是整数。推荐用//,更符合Python整数运算的习惯,代码可读性更强。
内容的提问来源于stack exchange,提问作者Anthony Mangano
相关产品推荐
相关产品推荐

