我正在编写一个程序,将多个玩家作为用户的输入,并将这些名称添加到列表中。现在,我想获取添加到列表中的姓名,并将它们用于 player_list
中每个玩家的评分系统。
我想用每个名字来表示这个玩家拥有这么多点。所以我相信我想使用列表中的名称作为每个对象并为每个名称分配一个分数。
我的问题是,我可以对列表中的项目执行此操作吗? 我现在用于创建列表的代码如下。
# total_list is to be used in the next part of my code
total_list = []
players_list = []
max_players = int(input(" how many players tonight? : "))
while len(players_list) < max_players:
players = input("First player name? : ")
players_list.append(players)
print("players so far : ")
print(players_list)
if len(players_list) == max_players:
print("players are: ")
print(players_list)
按照我现在的代码,我可以使用列表中输入的名称作为对象并分配一个名为 score
的变量吗?
我认为它看起来像这样:
players_list[0](score)
但我知道如果确实可能的话,这不会是这样的写法。如果我需要澄清,请告诉我。
最佳答案
您正在尝试做的是一个新的 Player 类的完美应用程序:
class Player:
def __init__(self, name):
self.name = name
self.score = 0
def __repr__(self, name):
return self.name
然后,您将执行 players_list.append(Player(players))
(恕我直言,您应该使用类似 名称而不是玩家只是为了更清楚它实际上是什么)。
然后,列表中的所有玩家都会有一个关联的分数,您可以访问该分数,例如 players_list[0].score
。
希望这有帮助,祝学习顺利。
关于Python,如何使用列表中输入的项目并使用它们来分配另一个值?是否可以,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50864868/