如何修复:TypeError'tuple'对象不支持项目赋值

Pro*_*mer 8 python pygame

本教程的以下代码片段:http://www.raywenderlich.com/24252/beginning-game-programming-for-teens-with-python

for badguy in badguys:
        if badguy[0]<-64:
            badguys.pop(index)
        badguy[0]-=7
        index+=1
    for badguy in badguys:
        screen.blit(badguyimg, badguy)
Run Code Online (Sandbox Code Playgroud)

给我一个:

TypeError:'tuple'对象不支持项目分配

我明白这可能badguy是一个元组.这意味着它是不可变的(你不能改变它的值)我尝试过以下方法:

t= list(badguy)
        t[0]= t[0]-7
        i+=1
Run Code Online (Sandbox Code Playgroud)

我将元组转换为列表,因此我们可以减去7.但在游戏中没有任何反应.

有人知道我能做什么吗?

谢谢.

ins*_*get 24

改变这个

badguy[0]-=7
Run Code Online (Sandbox Code Playgroud)

进入这个

badguy = list(badguy)
badguy[0]-=7
badguy = tuple(badguy)
Run Code Online (Sandbox Code Playgroud)

另外,如果能留下badguylist,那么甚至不使用的元组,你会被罚款与您当前密码(与使用列表而不是元组的加入改变)