首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在python中捕获超出范围的所有索引?

如何在python中捕获超出范围的所有索引?
EN

Stack Overflow用户
提问于 2019-04-09 12:50:47
回答 2查看 723关注 0票数 2

我在计算像素之间的距离,我在计算x和y坐标的程序中做了一个鼠标回调函数。

这是我试过的密码,

代码语言:javascript
复制
def distance():
    length = len(position)
    # Distance in terms of x
    distance_value = position[length-1][0] - position[length-2][0]
    # Distance in terms of y
    # distance_value = position[length-1][1] - position[length-2][1]

    print("Value of pixel is: " + str(distance_value))

IndexError:列出超出范围的索引。

EN

回答 2

Stack Overflow用户

发布于 2019-04-09 12:57:37

我想你需要做以下几件事:

代码语言:javascript
复制
def distance():
    length = len(position)
    # Distance in terms of x
    try:
        distance_value = position[length-1][0] - position[length-2][0]
        print("Value of pixel is: " + str(distance_value))
    except IndexError as e:
        print('There is an error')
        print(str(e))
票数 0
EN

Stack Overflow用户

发布于 2019-04-09 13:04:14

我假设position是x,y对的列表。因此,在第一个位置,您的程序失败,因为没有位置可以比较。在这种情况下,您还可以使用if语句而不是try语句,这将捕获所有IndexError,即防止错误发生而不是捕获错误。

代码语言:javascript
复制
if len(position) > 1:
    distance_value = position[-1][0] - position[-2][0]

注意,您应该使用负索引来引用最后一个元素,而不是

length - x

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55593355

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档