gpt4 book ai didi

python - 从 Python 中的函数调用 "variable"?

转载 作者:行者123 更新时间:2023-11-28 17:13:35 26 4
gpt4 key购买 nike

我什至不确定我是否用正确的名称来调用它们,但这就是我正在使用的。我正在开发一个简单的曲棍球模拟器,目前只使用数学来模拟比赛结果。目前没有名字或类似的东西,我刚刚在选择得分手时为“team1”生成了一个名字“列表”。这就是它的用武之地。我想为每个团队创建一个球员列表,并且认为功能是最好的......如果不是,请让我知道一个更简单的方法。所以这是现在的功能:

def c1():
_name = "Jason Delhomme"
_overall = random.choice((6.00, 7.44, 8.91))

并且 _overall 变量需要在某些地方被调用,而 _name 变量将在另一个地方被调用。这可能吗?

tm1center = ((c1 * .5) + (c2 * .35) + (c3 * .15)) * 3

我会将上面的“c1”替换为 c1 函数中的 _overall。我不确定该怎么做,或者如果可能的话。很抱歉在这里重复我自己的话,哈哈...

然后我有这个(下面)的播放器列表:

tm1players = ["player1", "player2", "player3", "player4", "player5"]

理想情况下,我会在每个函数中用 _name 变量替换所有这些。球员的功能也将通过他们的速度、手、射门等评级来更深入。我不知道 sim sports 如何处理这个问题,因为我对编码很陌生(刚开始上学)并且我用 excel 编写了原始引擎,这就是为什么它只是数字而不是物理或游戏。

如果这不能很好地解释它,请告诉我,我将进一步解释我正在尝试做的事情。

最佳答案

在您的情况下,最好使用一个类并将两个变量分配给该类,然后创建它的实例,例如:

class Player:
def __init__(self, name):
self.name = name
self.overall = random.choice((6.00, 7.44, 8.91))

player1 = Player('Jason Delhomme')
player2 = Player('Another Player')

tm1center = (player1.overall * .5) + (player2.overall * .35)
tm1players = [player1.name, player2.name]

编辑:

要在创建类时添加 overall,您需要将 init 方法更改为:

def __init__(self, name, overall):
self.name = name
self.overall = overall

然后在创建类的时候传入:

player1 = Player('Player Name', 6.23)

您可以在开始时创建一个玩家列表,并将每个玩家实例附加到该列表以供将来使用,例如:

player_list = []
player1 = Player('Player Name', 5)
player_list.append(player1)
player2 = Player('Player2 Name', 2.5)
player_list.append(player2)

# dynamically create tm1players and tm1center
tm1players = [x.name for x in player_list]
tm1center = [x.overall for x in player_list]

关于python - 从 Python 中的函数调用 "variable"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45700156/

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