How find the max of a list and then store the max in a new list
我试图找到"滚动列表"的最大值,但我所尝试的一切都不起作用。我不太擅长编码,我老师给我的指导也不太清楚。我还必须为每个玩家将"rollllist"重置为空,我很困惑。请有人帮忙。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | import random class Player: def __init__(self,name ): self.name = name self.dice = [] def __str__(self): return self.name def roll_Dice(self): rollDice = random.randint(1, 6) return rollDice rounds = 1 rollList = [] newplayer = [] newplayer.append(Player("CAT:")) newplayer.append(Player("DOG:")) newplayer.append(Player("LIZARD:")) newplayer.append(Player("FISH:")) for rounds in range(1,4): print("-----------------") print("Round" + str(rounds)) for p in newplayer: print(p) for x in range (4-rounds): rollDice = random.randint(1, 6) rollList.append(rollDice) print(rollList) max.pop(rollList) print(rollList) rollList.clear() len(rollList) |
行
您只需调用
1 | maxRoll = max(rollList) |
如果您想删除该卷,您可以(尽管似乎不需要,因为您将清除列表):
1 | rollList.remove(maxRoll) |
如果要将最大值追加到其他列表:
1 | anotherList.append(maxRoll) |
我报告了一些解决错误的建议:
只需将
然后,您只有一个元素的列表,因为您在
另外,
你在打印名单,而不给每个人分配掷骰子的价值,那么谁是赢家?
最后,您将roll_dice()定义为person的实例方法,那么为什么不使用它呢?那么,为什么不用
1 2 | rollDice = random.randint(1, 6) rollList.append(rollDice) |
希望这能有所帮助。
使用max()函数可以找到列表的最大值:
1 2 3 | mylist = [1,2,4,5,6,7,-2,3] max_value = max(mylist) |
现在最大值等于7。可以使用append()方法将其添加到新列表中:
1 2 | new_list = [] new_list.append(max_value) |
那么新的_列表将是[7]