为什么我会收到错误?

时间:2014-03-16 06:21:31

标签: python-3.x runtime-error

这都是在python中写的,所有的缩进都在我的脚本上,但不在此 交。

我真正需要帮助的是ord('f')

每次点击它时,错误都说list.remove(x):x不在列表中

你能告诉我我做错了吗

        if event.type == KEYDOWN:
            if event.key == ord('f'):
                if b in baddies:
                    b['rect'].top < WINDOWHEIGHT
                    baddies.remove(b)
    for b in baddies[:]:
        if b['rect'].top > WINDOWHEIGHT:
            baddies.remove(b)


    for b in baddies:
        windowSurface.blit(b['surface'], b['rect'])
    pygame.display.update()

2 个答案:

答案 0 :(得分:0)

错误不言自明。它说b不在baddies中,因此您无法将其删除。解决此问题的一种方法是检查b是否在baddies中。如果是,则删除它:

if b in baddies:
    baddies.remove(b)

答案 1 :(得分:0)

我解决了。感谢您的帮助,我用你的变种解决了它。

removeCheat = False
**if event.key == ord('f'):
    removeCheat = True**

*if not reverseCheat:
    baddieAddCounter += 1*

**for b in baddies[:]:
    if b['rect'].top > WINDOWHEIGHT:
        baddies.remove(b)
    elif removeCheat:
        if b in baddies:
            while b in baddies:
                if b['rect'].top < WINDOWHEIGHT:
                    baddies.remove(b)**