gpt4 book ai didi

Python:根据用户输入在运行时创建类的实例

转载 作者:行者123 更新时间:2023-12-01 05:53:04 25 4
gpt4 key购买 nike

我对 python 有点陌生,整天都在寻找这方面的信息。我希望能够询问用户他们想要多少个实例,并根据他们的输入,创建他们请求的任意数量的类实例。

我还希望能够根据输入来确定每个实例的名称,例如询问该人的姓名或其他内容。

NumPlayers = input("How many people are playing? ")
for i in range(0, int(NumPlayers)-1):
name = input("What is your name? ")
name = Player()

这与 John = Player() 类似,但“John”将是用户给我们提供的任何名称,并且用户想要的玩家数量不限。

从我今天的研究来看,允许人们确定自己实例的名称似乎不是一个好主意,所以在这一点上我正在考虑更多类似的事情:

NumPlayers = input("How many people are playing? ")
for i in range(0, int(NumPlayers)-1):
name = input("What is your name? ")
Player+i = Player(name)

对于更多玩家来说,这与 Player1 = Player("John") 等相同。这是可能的事吗?真是难倒我了。只是为了澄清一些事情,类本身已经在代码中,在提供的代码中 Player 是一个已经定义了方法和所有内容的类。

最佳答案

您正在寻找的是一种数据结构,具体来说,是 list .

no_players = input("How many people are playing? ")
players = []
for _ in range(int(no_players)):
name = input("What is your name? ")
players.append(Player(name))

这将生成一个[Player(...), Player(...), ...]列表。可以在其他操作中对其进行索引(players[2])或迭代(forplayerinplayers:)。我建议您阅读the documentation了解更多。

顺便说一句,有些列表可以使用 list comprehension 构建得更好。 .

关于Python:根据用户输入在运行时创建类的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13521878/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com