0

使用 for 循环创建类实例时,我收到错误“TypeError: Can't convert 'int' object to str implicitly”。我对编程很陌生,以前没有见过这个错误

class Player(object):  
    properties = []
    def __init__( self, name, wealth, player_number):
        self.name = name
        self.wealth = wealth
        self.player_number = player_number
    def __repr__(self):
        return str(self.wealth)

players = {}

for x in range(0, Player_count):
    players["player_" + x] = Player(input("Name"), input("Starting Wealth"), x)

到达 x 时出现错误

4

2 回答 2

1

然后将整数显式转换为字符串:

 players["player_" + str(x)] = Player(input("Name"), input("Starting Wealth"), x)

或使用字符串格式:

 players["player_{}".format(x)] = Player(input("Name"), input("Starting Wealth"), x)

您不能仅仅连接一个字符串 ( ) 和一个由 引用player_的整数(和 之间的数字0)。Player_countx

于 2013-08-30T21:36:00.267 回答
1

您不能添加字符串和数字

不正确:

["player_" + x]

正确的:

['player_%d' % x']

或新format方法:

['player_{0}'.format(x)]
于 2013-08-30T21:36:49.283 回答