'str'对象不支持项目赋值python

时间:2013-12-05 07:26:58

标签: python string variable-assignment

XP = 0
nmin = 50
nmax = 2000

        getxp = []
        f = open("users/" + user.name.lower() + ".txt", 'r')
        xpg = f.readline().split("X Points = ",1)[1]
        f.close


elif used_prefix and cmd == "dailychance" or "dc":
                if self.getAccess(user) >=1:
                    ngnum = str(random.randrange(nmin,nmax))
                    getxp
                    XP += ngnum
                    room.message("Old XP = " + xpg[0])
                    xpg[1] = XP
                    room.message("New XP = " + xpg[1])
                    f.writeline(xpg[1])
                    XP = 0
                else:
                    room.message("You are not Whitelisted. >=( ")

我希望它在min和max之间得到一个随机数,然后将数字分配给ngnum然后将ngnum添加到XP然后发送消息Old Xp =旧值然后将值更改为新值然后发送消息新XP =新值然后将旧值重写为新值。

1 个答案:

答案 0 :(得分:1)

@freakish已经找出了导致错误的问题。但也有其他问题:

if cmd == "dailychance" or "dc":

不符合您的想法。它相当于

if (cmd == "dailychance") or "dc":

因此将始终评估为真实值。

使用

if cmd in ("dailychance", "dc"):

代替。

此外,您需要调用 .close方法:f.close()(请注意括号)。