首页 > 解决方案 > 为什么这段代码使我产生一个元组的列表,而不是一个列表?

问题描述

我正在编写游戏,在这段代码中:

from tkinter import Tk, Button, Canvas, messagebox, mainloop
import tkinter.ttk
from tkinter.font import *
from math import *
tk = Tk()
c = Canvas(tk,width=1920,height=950,bg="#000000")
c.pack()
fallspeed = 0
gravity = 0.2
class player:
    global playerpos
    def __init__(player,sx1,sy1,sx2,sy2):
        playerpos = list(str(sx1)+str(sy1)+str(sx2)+str(sy2))
        for i in range(4):
            playerpos[i] = int(playerpos[i])
        playerpos
        player.sx1 = sx1
        player.sx2 = sx2
        player.sy1 = sy1
        player.sy2 = sy2
        playerpos = [sx1,sy1,sx2,sy2]
        global rect
        player.rect = c.create_rectangle(sx1,sy1,sx2,sy2,fill="#14eeee")
    def moverect(player,x,y):
        c.move(player.rect,x,y)
        playerpos[0],playerpos[2] += x
        playerpos[1],playerpos[3] += y
    def pickup(item):
        pass

它给出了一个错误,说你不能重新分配元组。为什么 playerpos 是一个元组,而不是一个列表?

标签: python-3.xlisttuples

解决方案


推荐阅读