gpt4 book ai didi

python - 未定义全局变量

转载 作者:行者123 更新时间:2023-11-28 21:30:14 26 4
gpt4 key购买 nike

我正在调用两个单独的函数来确定“P01”等于什么。第一个选择一个随机数,并丢弃已经选择的随机数。第二个获取随机数的结果并选择一个变量以使“位置”相等。然后我说“P01”等于“位置”。

我已将“位置”设置为全局变量,但当我尝试将“位置”分配给“P01”时,我不断收到错误消息,提示“位置未定义”。

有什么想法吗?

### Monster Statistics ####

Cerebus = {'name': 'Cerebus','HP1': 0,'HP2': 0,'HP3': 0,'HP4': 0,'Atk1L1': 0,'Atk1L2': 0,'Atk1L3': 0,'Atk1L4': 0,'Atk1L1dmg': 0,'Atk1L2dmg': 0,'Atk1L3dmg': 0,'Atk1L4dmg': 0,'Atk2L1': 0,'Atk2L2': 0,'Atk2L3': 0,'Atk2L4': 0,'Atk2L1dmg': 0,'Atk2L2dmg': 0,'Atk2L3dmg': 0,'Atk2L4dmg': 0,'Atk3L1': 0,'Atk3L2': 0,'Atk3L3': 0,'Atk3L4': 0,'Atk3L1dmg': 0,'Atk3L2dmg': 0,'Atk3L3dmg': 0,'Atk3L4dmg': 0,'Dfns1': 0,'Dfns2': 0,'Dfns3': 0,'Dfns4': 0,}
Cthulhu = {'name': 'Cthulhu','HP1': 0,'HP2': 0,'HP3': 0,'HP4': 0,'Atk1L1': 0,'Atk1L2': 0,'Atk1L3': 0,'Atk1L4': 0,'Atk1L1dmg': 0,'Atk1L2dmg': 0,'Atk1L3dmg': 0,'Atk1L4dmg': 0,'Atk2L1': 0,'Atk2L2': 0,'Atk2L3': 0,'Atk2L4': 0,'Atk2L1dmg': 0,'Atk2L2dmg': 0,'Atk2L3dmg': 0,'Atk2L4dmg': 0,'Atk3L1': 0,'Atk3L2': 0,'Atk3L3': 0,'Atk3L4': 0,'Atk3L1dmg': 0,'Atk3L2dmg': 0,'Atk3L3dmg': 0,'Atk3L4dmg': 0,'Dfns1': 0,'Dfns2': 0,'Dfns3': 0,'Dfns4': 0,}
Cyclops = {'name': 'Cyclops','HP1': 65,'HP2': 85,'HP3': 95,'HP4': 130,'Atk1L1': 3,'Atk1L2': 4,'Atk1L3': 4,'Atk1L4': 5,'Atk1L1dmg': 3,'Atk1L2dmg': 4,'Atk1L3dmg': 4,'Atk1L4dmg': 5,'Atk2L1': 2,'Atk2L2': 3,'Atk2L3': 3,'Atk2L4': 4,'Atk2L1dmg': 5,'Atk2L2dmg': 6,'Atk2L3dmg': 6,'Atk2L4dmg': 7,'Atk3L1': 1,'Atk3L2': 2,'Atk3L3': 3,'Atk3L4': 3,'Atk3L1dmg': 5,'Atk3L2dmg': 6,'Atk3L3dmg': 6,'Atk3L4dmg': 7,'Dfns1': 2,'Dfns2': 3,'Dfns3': 4,'Dfns4': 5,}
Genie = {'name': 'Genie','HP1': 0,'HP2': 0,'HP3': 0,'HP4': 0,'Atk1L1': 0,'Atk1L2': 0,'Atk1L3': 0,'Atk1L4': 0,'Atk1L1dmg': 0,'Atk1L2dmg': 0,'Atk1L3dmg': 0,'Atk1L4dmg': 0,'Atk2L1': 0,'Atk2L2': 0,'Atk2L3': 0,'Atk2L4': 0,'Atk2L1dmg': 0,'Atk2L2dmg': 0,'Atk2L3dmg': 0,'Atk2L4dmg': 0,'Atk3L1': 0,'Atk3L2': 0,'Atk3L3': 0,'Atk3L4': 0,'Atk3L1dmg': 0,'Atk3L2dmg': 0,'Atk3L3dmg': 0,'Atk3L4dmg': 0,'Dfns1': 0,'Dfns2': 0,'Dfns3': 0,'Dfns4': 0,}
GiantApe = {'name': 'Giant Ape','HP1': 70,'HP2': 90,'HP3': 110,'HP4': 140,'Atk1L1': 3,'Atk1L2': 4,'Atk1L3': 4,'Atk1L4': 5,'Atk1L1dmg': 4,'Atk1L2dmg': 5,'Atk1L3dmg': 5,'Atk1L4dmg': 6,'Atk2L1': 2,'Atk2L2': 2,'Atk2L3': 3,'Atk2L4': 4,'Atk2L1dmg': 5,'Atk2L2dmg': 6,'Atk2L3dmg': 6,'Atk2L4dmg': 7,'Atk3L1': 1,'Atk3L2': 2,'Atk3L3': 3,'Atk3L4': 3,'Atk3L1dmg': 6,'Atk3L2dmg': 6,'Atk3L3dmg': 7,'Atk3L4dmg': 8,'Dfns1': 2,'Dfns2': 3,'Dfns3': 3,'Dfns4': 4,}
GiantLizard = {'name': 'Giant Lizard','HP1': 80,'HP2': 100,'HP3': 130,'HP4': 170,'Atk1L1': 3,'Atk1L2': 3,'Atk1L3': 4,'Atk1L4': 5,'Atk1L1dmg': 3,'Atk1L2dmg': 4,'Atk1L3dmg': 5,'Atk1L4dmg': 6,'Atk2L1': 2,'Atk2L2': 3,'Atk2L3': 3,'Atk2L4': 4,'Atk2L1dmg': 4,'Atk2L2dmg': 5,'Atk2L3dmg': 6,'Atk2L4dmg': 7,'Atk3L1': 1,'Atk3L2': 2,'Atk3L3': 2,'Atk3L4': 3,'Atk3L1dmg': 6,'Atk3L2dmg': 7,'Atk3L3dmg': 8,'Atk3L4dmg': 8,'Dfns1': 1,'Dfns2': 2,'Dfns3': 2,'Dfns4': 3,}
GreyAlien = {'name': 'Grey Alien','HP1': 30,'HP2': 40,'HP3': 45,'HP4': 50,'Atk1L1': 3,'Atk1L2': 3,'Atk1L3': 4,'Atk1L4': 5,'Atk1L1dmg': 1,'Atk1L2dmg': 2,'Atk1L3dmg': 2,'Atk1L4dmg': 3,'Atk2L1': 2,'Atk2L2': 2,'Atk2L3': 3,'Atk2L4': 4,'Atk2L1dmg': 2,'Atk2L2dmg': 3,'Atk2L3dmg': 3,'Atk2L4dmg': 4,'Atk3L1': 1,'Atk3L2': 2,'Atk3L3': 3,'Atk3L4': 4,'Atk3L1dmg': 4,'Atk3L2dmg': 5,'Atk3L3dmg': 5,'Atk3L4dmg': 6,'Dfns1': 3,'Dfns2': 4,'Dfns3': 4,'Dfns4': 5,}
Gryffin = {'name': 'Gryffin','HP1': 0,'HP2': 0,'HP3': 0,'HP4': 0,'Atk1L1': 0,'Atk1L2': 0,'Atk1L3': 0,'Atk1L4': 0,'Atk1L1dmg': 0,'Atk1L2dmg': 0,'Atk1L3dmg': 0,'Atk1L4dmg': 0,'Atk2L1': 0,'Atk2L2': 0,'Atk2L3': 0,'Atk2L4': 0,'Atk2L1dmg': 0,'Atk2L2dmg': 0,'Atk2L3dmg': 0,'Atk2L4dmg': 0,'Atk3L1': 0,'Atk3L2': 0,'Atk3L3': 0,'Atk3L4': 0,'Atk3L1dmg': 0,'Atk3L2dmg': 0,'Atk3L3dmg': 0,'Atk3L4dmg': 0,'Dfns1': 0,'Dfns2': 0,'Dfns3': 0,'Dfns4': 0,}
Leprechaun = {'name': 'Leprechaun','HP1': 30,'HP2': 35,'HP3': 50,'HP4': 65,'Atk1L1': 3,'Atk1L2': 4,'Atk1L3': 4,'Atk1L4': 5,'Atk1L1dmg': 1,'Atk1L2dmg': 1,'Atk1L3dmg': 2,'Atk1L4dmg': 3,'Atk2L1': 2,'Atk2L2': 3,'Atk2L3': 4,'Atk2L4': 5,'Atk2L1dmg': 2,'Atk2L2dmg': 2,'Atk2L3dmg': 3,'Atk2L4dmg': 4,'Atk3L1': 1,'Atk3L2': 2,'Atk3L3': 3,'Atk3L4': 4,'Atk3L1dmg': 4,'Atk3L2dmg': 5,'Atk3L3dmg': 6,'Atk3L4dmg': 6,'Dfns1': 4,'Dfns2': 6,'Dfns3': 7,'Dfns4': 8,}
Medusa = {'name': 'Medusa','HP1': 20,'HP2': 30,'HP3': 45,'HP4': 50,'Atk1L1': 3,'Atk1L2': 3,'Atk1L3': 4,'Atk1L4': 4,'Atk1L1dmg': 1,'Atk1L2dmg': 2,'Atk1L3dmg': 2,'Atk1L4dmg': 3,'Atk2L1': 2,'Atk2L2': 2,'Atk2L3': 3,'Atk2L4': 4,'Atk2L1dmg': 2,'Atk2L2dmg': 2,'Atk2L3dmg': 3,'Atk2L4dmg': 3,'Atk3L1': 1,'Atk3L2': 1,'Atk3L3': 2,'Atk3L4': 3,'Atk3L1dmg': 4,'Atk3L2dmg': 5,'Atk3L3dmg': 5,'Atk3L4dmg': 6,'Dfns1': 2,'Dfns2': 3,'Dfns3': 4,'Dfns4': 4,}
Minotaur = {'name': 'Minotaur','HP1': 0,'HP2': 0,'HP3': 0,'HP4': 0,'Atk1L1': 0,'Atk1L2': 0,'Atk1L3': 0,'Atk1L4': 0,'Atk1L1dmg': 0,'Atk1L2dmg': 0,'Atk1L3dmg': 0,'Atk1L4dmg': 0,'Atk2L1': 0,'Atk2L2': 0,'Atk2L3': 0,'Atk2L4': 0,'Atk2L1dmg': 0,'Atk2L2dmg': 0,'Atk2L3dmg': 0,'Atk2L4dmg': 0,'Atk3L1': 0,'Atk3L2': 0,'Atk3L3': 0,'Atk3L4': 0,'Atk3L1dmg': 0,'Atk3L2dmg': 0,'Atk3L3dmg': 0,'Atk3L4dmg': 0,'Dfns1': 0,'Dfns2': 0,'Dfns3': 0,'Dfns4': 0,}
Ninja = {'name': 'Ninja','HP1': 20,'HP2': 30,'HP3': 40,'HP4': 55,'Atk1L1': 4,'Atk1L2': 5,'Atk1L3': 5,'Atk1L4': 7,'Atk1L1dmg': 1,'Atk1L2dmg': 2,'Atk1L3dmg': 3,'Atk1L4dmg': 3,'Atk2L1': 3,'Atk2L2': 4,'Atk2L3': 5,'Atk2L4': 6,'Atk2L1dmg': 3,'Atk2L2dmg': 4,'Atk2L3dmg': 5,'Atk2L4dmg': 6,'Atk3L1': 2,'Atk3L2': 2,'Atk3L3': 3,'Atk3L4': 3,'Atk3L1dmg': 4,'Atk3L2dmg': 5,'Atk3L3dmg': 5,'Atk3L4dmg': 6,'Dfns1': 4,'Dfns2': 5,'Dfns3': 6,'Dfns4': 7,}
Ogre = {'name': 'Ogre','HP1': 0,'HP2': 0,'HP3': 0,'HP4': 0,'Atk1L1': 0,'Atk1L2': 0,'Atk1L3': 0,'Atk1L4': 0,'Atk1L1dmg': 0,'Atk1L2dmg': 0,'Atk1L3dmg': 0,'Atk1L4dmg': 0,'Atk2L1': 0,'Atk2L2': 0,'Atk2L3': 0,'Atk2L4': 0,'Atk2L1dmg': 0,'Atk2L2dmg': 0,'Atk2L3dmg': 0,'Atk2L4dmg': 0,'Atk3L1': 0,'Atk3L2': 0,'Atk3L3': 0,'Atk3L4': 0,'Atk3L1dmg': 0,'Atk3L2dmg': 0,'Atk3L3dmg': 0,'Atk3L4dmg': 0,'Dfns1': 0,'Dfns2': 0,'Dfns3': 0,'Dfns4': 0,}
OozeMonster = {'name': 'Ooze Monster','HP1': 30,'HP2': 40,'HP3': 60,'HP4': 90,'Atk1L1': 4,'Atk1L2': 5,'Atk1L3': 6,'Atk1L4': 7,'Atk1L1dmg': 1,'Atk1L2dmg': 1,'Atk1L3dmg': 2,'Atk1L4dmg': 3,'Atk2L1': 2,'Atk2L2': 2,'Atk2L3': 3,'Atk2L4': 3,'Atk2L1dmg': 2,'Atk2L2dmg': 2,'Atk2L3dmg': 3,'Atk2L4dmg': 3,'Atk3L1': 1,'Atk3L2': 1,'Atk3L3': 2,'Atk3L4': 2,'Atk3L1dmg': 4,'Atk3L2dmg': 4,'Atk3L3dmg': 6,'Atk3L4dmg': 7,'Dfns1': 1,'Dfns2': 2,'Dfns3': 3,'Dfns4': 3,}
Orc = {'name': 'Orc','HP1': 0,'HP2': 0,'HP3': 0,'HP4': 0,'Atk1L1': 0,'Atk1L2': 0,'Atk1L3': 0,'Atk1L4': 0,'Atk1L1dmg': 0,'Atk1L2dmg': 0,'Atk1L3dmg': 0,'Atk1L4dmg': 0,'Atk2L1': 0,'Atk2L2': 0,'Atk2L3': 0,'Atk2L4': 0,'Atk2L1dmg': 0,'Atk2L2dmg': 0,'Atk2L3dmg': 0,'Atk2L4dmg': 0,'Atk3L1': 0,'Atk3L2': 0,'Atk3L3': 0,'Atk3L4': 0,'Atk3L1dmg': 0,'Atk3L2dmg': 0,'Atk3L3dmg': 0,'Atk3L4dmg': 0,'Dfns1': 0,'Dfns2': 0,'Dfns3': 0,'Dfns4': 0,}
Pirate = {'name': 'Pirate','HP1': 20,'HP2': 30,'HP3': 40,'HP4': 45,'Atk1L1': 4,'Atk1L2': 5,'Atk1L3': 5,'Atk1L4': 6,'Atk1L1dmg': 2,'Atk1L2dmg': 3,'Atk1L3dmg': 3,'Atk1L4dmg': 4,'Atk2L1': 2,'Atk2L2': 2,'Atk2L3': 3,'Atk2L4': 4,'Atk2L1dmg': 3,'Atk2L2dmg': 3,'Atk2L3dmg': 4,'Atk2L4dmg': 5,'Atk3L1': 2,'Atk3L2': 3,'Atk3L3': 3,'Atk3L4': 4,'Atk3L1dmg': 3,'Atk3L2dmg': 4,'Atk3L3dmg': 5,'Atk3L4dmg': 6,'Dfns1': 3,'Dfns2': 4,'Dfns3': 4,'Dfns4': 5,}
PossessedDoll = {'name': 'Possessed Doll','HP1': 0,'HP2': 0,'HP3': 0,'HP4': 0,'Atk1L1': 0,'Atk1L2': 0,'Atk1L3': 0,'Atk1L4': 0,'Atk1L1dmg': 0,'Atk1L2dmg': 0,'Atk1L3dmg': 0,'Atk1L4dmg': 0,'Atk2L1': 0,'Atk2L2': 0,'Atk2L3': 0,'Atk2L4': 0,'Atk2L1dmg': 0,'Atk2L2dmg': 0,'Atk2L3dmg': 0,'Atk2L4dmg': 0,'Atk3L1': 0,'Atk3L2': 0,'Atk3L3': 0,'Atk3L4': 0,'Atk3L1dmg': 0,'Atk3L2dmg': 0,'Atk3L3dmg': 0,'Atk3L4dmg': 0,'Dfns1': 0,'Dfns2': 0,'Dfns3': 0,'Dfns4': 0,}
Robot = {'name': 'Robot','HP1': 63,'HP2': 76,'HP3': 84,'HP4': 102,'Atk1L1': 4,'Atk1L2': 5,'Atk1L3': 5,'Atk1L4': 6,'Atk1L1dmg': 1,'Atk1L2dmg': 2,'Atk1L3dmg': 2,'Atk1L4dmg': 3,'Atk2L1': 3,'Atk2L2': 4,'Atk2L3': 4,'Atk2L4': 5,'Atk2L1dmg': 2,'Atk2L2dmg': 3,'Atk2L3dmg': 3,'Atk2L4dmg': 4,'Atk3L1': 2,'Atk3L2': 2,'Atk3L3': 3,'Atk3L4': 3,'Atk3L1dmg': 3,'Atk3L2dmg': 4,'Atk3L3dmg': 5,'Atk3L4dmg': 5,'Dfns1': 2,'Dfns2': 3,'Dfns3': 4,'Dfns4': 4,}
Sasquatch = {'name': 'Sasquatch','HP1': 0,'HP2': 0,'HP3': 0,'HP4': 0,'Atk1L1': 0,'Atk1L2': 0,'Atk1L3': 0,'Atk1L4': 0,'Atk1L1dmg': 0,'Atk1L2dmg': 0,'Atk1L3dmg': 0,'Atk1L4dmg': 0,'Atk2L1': 0,'Atk2L2': 0,'Atk2L3': 0,'Atk2L4': 0,'Atk2L1dmg': 0,'Atk2L2dmg': 0,'Atk2L3dmg': 0,'Atk2L4dmg': 0,'Atk3L1': 0,'Atk3L2': 0,'Atk3L3': 0,'Atk3L4': 0,'Atk3L1dmg': 0,'Atk3L2dmg': 0,'Atk3L3dmg': 0,'Atk3L4dmg': 0,'Dfns1': 0,'Dfns2': 0,'Dfns3': 0,'Dfns4': 0,}
Unicorn = {'name': 'Unicorn','HP1': 25,'HP2': 35,'HP3': 50,'HP4': 85,'Atk1L1': 3,'Atk1L2': 4,'Atk1L3': 4,'Atk1L4': 5,'Atk1L1dmg': 2,'Atk1L2dmg': 2,'Atk1L3dmg': 3,'Atk1L4dmg': 4,'Atk2L1': 3,'Atk2L2': 4,'Atk2L3': 5,'Atk2L4': 6,'Atk2L1dmg': 3,'Atk2L2dmg': 4,'Atk2L3dmg': 5,'Atk2L4dmg': 5,'Atk3L1': 2,'Atk3L2': 3,'Atk3L3': 4,'Atk3L4': 5,'Atk3L1dmg': 4,'Atk3L2dmg': 5,'Atk3L3dmg': 6,'Atk3L4dmg': 7,'Dfns1': 4,'Dfns2': 5,'Dfns3': 6,'Dfns4': 7,}
Vampire = {'name': 'Vampire','HP1': 40,'HP2': 50,'HP3': 75,'HP4': 95,'Atk1L1': 4,'Atk1L2': 5,'Atk1L3': 5,'Atk1L4': 6,'Atk1L1dmg': 1,'Atk1L2dmg': 2,'Atk1L3dmg': 2,'Atk1L4dmg': 3,'Atk2L1': 2,'Atk2L2': 3,'Atk2L3': 3,'Atk2L4': 4,'Atk2L1dmg': 2,'Atk2L2dmg': 3,'Atk2L3dmg': 4,'Atk2L4dmg': 4,'Atk3L1': 1,'Atk3L2': 2,'Atk3L3': 2,'Atk3L4': 3,'Atk3L1dmg': 3,'Atk3L2dmg': 4,'Atk3L3dmg': 5,'Atk3L4dmg': 5,'Dfns1': 3,'Dfns2': 4,'Dfns3': 5,'Dfns4': 6,}
Werewolf = {'name': 'Werewolf','HP1': 25,'HP2': 30,'HP3': 50,'HP4': 75,'Atk1L1': 4,'Atk1L2': 4,'Atk1L3': 5,'Atk1L4': 6,'Atk1L1dmg': 1,'Atk1L2dmg': 2,'Atk1L3dmg': 3,'Atk1L4dmg': 3,'Atk2L1': 3,'Atk2L2': 3,'Atk2L3': 4,'Atk2L4': 5,'Atk2L1dmg': 2,'Atk2L2dmg': 3,'Atk2L3dmg': 3,'Atk2L4dmg': 3,'Atk3L1': 1,'Atk3L2': 1,'Atk3L3': 2,'Atk3L4': 4,'Atk3L1dmg': 4,'Atk3L2dmg': 4,'Atk3L3dmg': 5,'Atk3L4dmg': 6,'Dfns1': 4,'Dfns2': 5,'Dfns3': 6,'Dfns4': 7,}
Witch = {'name': 'Witch','HP1': 0,'HP2': 0,'HP3': 0,'HP4': 0,'Atk1L1': 0,'Atk1L2': 0,'Atk1L3': 0,'Atk1L4': 0,'Atk1L1dmg': 0,'Atk1L2dmg': 0,'Atk1L3dmg': 0,'Atk1L4dmg': 0,'Atk2L1': 0,'Atk2L2': 0,'Atk2L3': 0,'Atk2L4': 0,'Atk2L1dmg': 0,'Atk2L2dmg': 0,'Atk2L3dmg': 0,'Atk2L4dmg': 0,'Atk3L1': 0,'Atk3L2': 0,'Atk3L3': 0,'Atk3L4': 0,'Atk3L1dmg': 0,'Atk3L2dmg': 0,'Atk3L3dmg': 0,'Atk3L4dmg': 0,'Dfns1': 0,'Dfns2': 0,'Dfns3': 0,'Dfns4': 0,}
Wizard = {'name': 'Wizard','HP1': 40,'HP2': 60,'HP3': 90,'HP4': 115,'Atk1L1': 3,'Atk1L2': 3,'Atk1L3': 4,'Atk1L4': 5,'Atk1L1dmg': 1,'Atk1L2dmg': 1,'Atk1L3dmg': 2,'Atk1L4dmg': 2,'Atk2L1': 2,'Atk2L2': 3,'Atk2L3': 4,'Atk2L4': 4,'Atk2L1dmg': 4,'Atk2L2dmg': 4,'Atk2L3dmg': 5,'Atk2L4dmg': 6,'Atk3L1': 1,'Atk3L2': 1,'Atk3L3': 3,'Atk3L4': 3,'Atk3L1dmg': 4,'Atk3L2dmg': 5,'Atk3L3dmg': 5,'Atk3L4dmg': 6,'Dfns1': 4,'Dfns2': 5,'Dfns3': 6,'Dfns4': 6,}
Yeti = {'name': 'Yeti','HP1': 30,'HP2': 35,'HP3': 55,'HP4': 80,'Atk1L1': 3,'Atk1L2': 4,'Atk1L3': 4,'Atk1L4': 5,'Atk1L1dmg': 1,'Atk1L2dmg': 2,'Atk1L3dmg': 3,'Atk1L4dmg': 4,'Atk2L1': 2,'Atk2L2': 2,'Atk2L3': 3,'Atk2L4': 4,'Atk2L1dmg': 3,'Atk2L2dmg': 3,'Atk2L3dmg': 4,'Atk2L4dmg': 5,'Atk3L1': 1,'Atk3L2': 1,'Atk3L3': 2,'Atk3L4': 3,'Atk3L1dmg': 4,'Atk3L2dmg': 5,'Atk3L3dmg': 5,'Atk3L4dmg': 6,'Dfns1': 3,'Dfns2': 3,'Dfns3': 4,'Dfns4': 5,}
Zombie = {'name': 'Zombie','HP1': 49,'HP2': 60,'HP3': 90,'HP4': 120,'Atk1L1': 3,'Atk1L2': 3,'Atk1L3': 4,'Atk1L4': 5,'Atk1L1dmg': 1,'Atk1L2dmg': 2,'Atk1L3dmg': 2,'Atk1L4dmg': 3,'Atk2L1': 2,'Atk2L2': 2,'Atk2L3': 3,'Atk2L4': 4,'Atk2L1dmg': 2,'Atk2L2dmg': 3,'Atk2L3dmg': 4,'Atk2L4dmg': 4,'Atk3L1': 1,'Atk3L2': 1,'Atk3L3': 2,'Atk3L4': 3,'Atk3L1dmg': 3,'Atk3L2dmg': 4,'Atk3L3dmg': 4,'Atk3L4dmg': 5,'Dfns1': 1,'Dfns2': 2,'Dfns3': 2,'Dfns4': 3,}

import random

def pickmonster (slotnumber):
global position
if slotnumber == 1: position = Cyclops
if slotnumber == 2: position = Genie
if slotnumber == 3: position = GiantApe
if slotnumber == 4: position = GiantLizard
if slotnumber == 5: position = GreyAlien
if slotnumber == 6: position = Leprechaun
if slotnumber == 7: position = Medusa
if slotnumber == 8: position = Ninja
if slotnumber == 9: position = OozeMonster
if slotnumber == 10: position = Pirate
if slotnumber == 11: position = Robot
if slotnumber == 12: position = Unicorn
if slotnumber == 13: position = Vampire
if slotnumber == 14: position = Werewolf
if slotnumber == 15: position = Wizard
if slotnumber == 16: position = Zombie

pickednumbers = []
def slotseeder ():
global randomnumber
randomnumber = (random.randrange(1,16))
if randomnumber in pickednumbers:
t = 1
else:
pickednumbers.append(randomnumber)
pickmonster (randomnumber)
slotseeder
P01 = position
print P01

最佳答案

代码中存在几个问题。就像如果函数后面没有左括号和右括号,则您不会调用函数。

即:不是 slotseeder 而是 slotseeder()

(这就是破坏代码的那个)

我可能会编写如下示例代码:

### Monster Statistics ####

default_stats = dict(name='unknown',
HP=[0, 0, 0, 0],
Atk1=[0, 0, 0, 0], Atk1dmg=[0, 0, 0, 0],
Atk2=[0, 0, 0, 0], Atk2dmg=[0, 0, 0, 0],
Atk3=[0, 0, 0, 0], Atk3dmg=[0, 0, 0, 0],
Dfns=[0, 0, 0, 0])

Monsters = [dict(default_stats, name='Cerebus'),
dict(default_stats, name='Cthulhu'),
dict(default_stats, name='Cyclops',
HP=[65, 85, 95, 130],
Atk1=[3, 4, 4, 5], Atk1dmg=[3, 4, 4, 5],
Atk2=[2, 3, 3, 4], Atk2dmg=[5, 6, 6, 7],
Atk3=[1, 2, 3, 3], Atk3dmg=[5, 6, 6, 7],
Dfns=[2, 3, 4, 5]),
dict(default_stats, name='Genie'),
dict(default_stats, name='Giant Ape',
HP=[70, 90, 110, 140],
Atk1=[3, 4, 4, 5], Atk1dmg=[4, 5, 5, 6],
Atk2=[2, 2, 3, 4], Atk2dmg=[5, 6, 6, 7],
Atk3=[1, 2, 3, 3], Atk3dmg=[6, 6, 7, 8],
Dfns=[2, 3, 3, 4]),
dict(default_stats, name='Giant Lizard',
HP=[80, 100, 130, 170],
Atk1=[3, 3, 4, 5], Atk1dmg=[3, 4, 5, 6],
Atk2=[2, 3, 3, 4], Atk2dmg=[4, 5, 6, 7],
Atk3=[1, 2, 2, 3], Atk3dmg=[6, 7, 8, 8],
Dfns=[1, 2, 2, 3]),
dict(default_stats, name='Grey Alien',
HP=[30, 40, 45, 50],
Atk1=[3, 3, 4, 5], Atk1dmg=[1, 2, 2, 3],
Atk2=[2, 2, 3, 4], Atk2dmg=[2, 3, 3, 4],
Atk3=[1, 2, 3, 4], Atk3dmg=[4, 5, 5, 6],
Dfns=[3, 4, 4, 5]),
dict(default_stats, name='Gryffin'),
dict(name='Leprechaun',
HP=[30, 35, 50, 65],
Atk1=[3, 4, 4, 5], Atk1dmg=[1, 1, 2, 3],
Atk2=[2, 3, 4, 5], Atk2dmg=[2, 2, 3, 4],
Atk3=[1, 2, 3, 4], Atk3dmg=[4, 5, 6, 6],
Dfns=[4, 6, 7, 8]),
dict(default_stats, name='Medusa',
HP=[20, 30, 45, 50],
Atk1=[3, 3, 4, 4], Atk1dmg=[1, 2, 2, 3],
Atk2=[2, 2, 3, 4], Atk2dmg=[2, 2, 3, 3],
Atk3=[1, 1, 2, 3], Atk3dmg=[4, 5, 5, 6],
Dfns=[2, 3, 4, 4]),
dict(default_stats, name='Minotaur'),
dict(default_stats, name='Ninja',
HP=[20, 30, 40, 55],
Atk1=[4, 5, 5, 7], Atk1dmg=[1, 2, 3, 3],
Atk2=[3, 4, 5, 6], Atk2dmg=[3, 4, 5, 6],
Atk3=[2, 2, 3, 3], Atk3dmg=[4, 5, 5, 6],
Dfns=[4, 5, 6, 7]),
dict(default_stats, name='Ogre'),
dict(default_stats, name='Ooze Monster',
HP=[30, 40, 60, 90],
Atk1=[4, 5, 6, 7], Atk1dmg=[1, 1, 2, 3],
Atk2=[2, 2, 3, 3], Atk2dmg=[2, 2, 3, 3],
Atk3=[1, 1, 2, 2], Atk3dmg=[4, 4, 6, 7],
Dfns=[1, 2, 3, 3]),
dict(default_stats, name='Orc'),
dict(default_stats, name='Pirate',
HP=[20, 30, 40, 45],
Atk1=[4, 5, 5, 6], Atk1dmg=[2, 3, 3, 4],
Atk2=[2, 2, 3, 4], Atk2dmg=[3, 3, 4, 5],
Atk3=[2, 3, 3, 4], Atk3dmg=[3, 4, 5, 6],
Dfns=[3, 4, 4, 5]),
dict(default_stats, name='Possessed Doll'),
dict(default_stats, name='Robot',
HP=[63, 76, 84, 102],
Atk1=[4, 5, 5, 6], Atk1dmg=[1, 2, 2, 3],
Atk2=[3, 4, 4, 5], Atk2dmg=[2, 3, 3, 4],
Atk3=[2, 2, 3, 3], Atk3dmg=[3, 4, 5, 5],
Dfns=[2, 3, 4, 4]),
dict(default_stats, name='Sasquatch'),
dict(name='Unicorn',
HP=[25, 35, 50, 85],
Atk1=[3, 4, 4, 5], Atk1dmg=[2, 2, 3, 4],
Atk2=[3, 4, 5, 6], Atk2dmg=[3, 4, 5, 5],
Atk3=[2, 3, 4, 5], Atk3dmg=[4, 5, 6, 7],
Dfns=[4, 5, 6, 7]),
dict(default_stats, name='Vampire',
HP=[40, 50, 75, 95],
Atk1=[4, 5, 5, 6], Atk1dmg=[1, 2, 2, 3],
Atk2=[2, 3, 3, 4], Atk2dmg=[2, 3, 4, 4],
Atk3=[1, 2, 2, 3], Atk3dmg=[3, 4, 5, 5],
Dfns=[3, 4, 5, 6]),
dict(default_stats, name='Werewolf',
HP=[25, 30, 50, 75],
Atk1=[4, 4, 5, 6], Atk1dmg=[1, 2, 3, 3],
Atk2=[3, 3, 4, 5], Atk2dmg=[2, 3, 3, 3],
Atk3=[1, 1, 2, 4], Atk3dmg=[4, 4, 5, 6],
Dfns=[4, 5, 6, 7]),
dict(default_stats, name='Witch'),
dict(default_stats, name='Wizard',
HP=[40, 60, 90, 115],
Atk1=[3, 3, 4, 5], Atk1dmg=[1, 1, 2, 2],
Atk2=[2, 3, 4, 4], Atk2dmg=[4, 4, 5, 6],
Atk3=[1, 1, 3, 3], Atk3dmg=[4, 5, 5, 6],
Dfns=[4, 5, 6, 6]),
dict(default_stats, name='Yeti',
HP=[30, 35, 55, 80],
Atk1=[3, 4, 4, 5], Atk1dmg=[1, 2, 3, 4],
Atk2=[2, 2, 3, 4], Atk2dmg=[3, 3, 4, 5],
Atk3=[1, 1, 2, 3], Atk3dmg=[4, 5, 5, 6],
Dfns=[3, 3, 4, 5]),
dict(default_stats, name='Zombie',
HP=[49, 60, 90, 120],
Atk1=[3, 3, 4, 5], Atk1dmg=[1, 2, 2, 3],
Atk2=[2, 2, 3, 4], Atk2dmg=[2, 3, 4, 4],
Atk3=[1, 1, 2, 3], Atk3dmg=[3, 4, 4, 5],
Dfns=[1, 2, 2, 3])
]

import random

picked = [monster for monster in Monsters
if monster['name'] in ['Cyclops',
'Genie', 'Giant Ape', 'Giant Lizard',
'Grey Alien', 'Leprechaun', 'Medusa',
'Ninja', 'Ooze Monster', 'Pirate',
'Robot', 'Unicorn', 'Vampire',
'Werewolf', 'Wizard', 'Zombie']]

def slotseeder ():
randomnumber = (random.randrange(0,len(picked)))
if picked[randomnumber] != None:
pickedmonster = Monsters[randomnumber]
picked[randomnumber] = None
return pickedmonster

P01 = slotseeder()
if P01 is not None:
print "I got monster:", P01
else:
print "Monster already used"

如您所见,主要变化在于数据结构。

  • 将所有怪物放入一个唯一的列表中。为每个变量使用不同的名称是没有意义的。当您稍后想要选择怪物时,这只会使代码更难编写。
  • 我更改了字典初始化语法,另一个根据我的口味使用了太多引号。
  • 还添加了默认字典,可以方便地显示哪些怪物是真正定义的或未定义的,如果某些怪物足够接近,也可以用作模板。
  • 用实际列表替换了编号变量列表(如 HP1、HP2、HP3 等)。这就是列表的设计目的。这稍微改变了访问语法,但它开辟了新的可能性。对于 Atk 级别可能可以进行相同类型的更改,因为也有编号变量,但名称还表明 Atk1 和 Atk1dmg 可以组合为一个元组。我留给读者继续增强结构。

我相信结果比最初的结果更容易阅读。

这只是一种可能性。另一种可能是使用以怪物名称作为所有怪物的键的字典。它可能比上面的更好,并且定义一个真正的 Monster 类可能比使用 dict() 更好。但每天走一步就足够了。

更改数据结构后,更改代码就很容易了。我让你自己弄清楚。关于初始程序的最后一个细节:它永远不会得到僵尸(因为随机行为)。我认为这是一个错误并更改了它。

享受 python 的乐趣:-)

注意:如果你想知道我是否真的编辑了这个可怕的初始结构,答案是没有。我写了一个程序来为我做这件事。好吧,我为此目的使用了一些内联 Perl,因为它比使用 Python 编写速度更快。我知道。我是邪恶的。

关于python - 未定义全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3373560/

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