我的数组没有保存我给它的值,有什么解决办法吗? Python

My array isn't holding the values I give it, is there any fix? Python

所以基本上我正在尝试编写游戏脚本 (Card-Jitsu),但是我的数组实际上并没有存储我给它的值。我目前有 2 个文件(我正在尝试制作一个涉及导入的项目)。这是生成随机数的代码,我用它从我的卡片数组中挑选一张卡片:

n = 0
helper = 0
n2 = 0
helper2 = 0

cards = ["Fire 1", "Fire 2", "Fire 3", "Water 1", "Water 2", "Water 3", "Thunder 1", "Thunder 2", "Thunder 3"]

while n < 4:
    import random
    cardNum = random.randint(0, 8)

    userDeck = ["", "", "", ""]
    userDeck[helper] = cards[cardNum]
    n = n + 1
    helper = helper + 1

while n2 < 4:
    import random
    cardNum = random.randint(0, 8)

    compDeck = ["", "", "", ""]
    compDeck[helper2] = cards[cardNum]
    n2 = n2 + 1
    helper2 = helper2 + 1

这是我拥有所有其他东西的另一个代码:

if start == "PLAY": #Still in progress!
    print("This game is a luck based game, it's basically a copy of Rock-Paper-Scissors. Fire > Thunder, Thunder > Water, Water > Fire. Let's play now!")
    print("Your deck contains", userDeck[0], userDeck[1], userDeck[2], userDeck[3])

但是当我 运行 终端中的文件时,我得到的是:

Welcome to Card Game! Type PLAY to continue!
PLAY
This game is a luck based game, it's basically a copy of Rock-Paper-Scissors. Fire > Thunder, Thunder > Water, Water > Fire. Let's play now!
Your deck contains    Thunder 1

有人,请告诉我如何在 Python

中解决这个问题

尝试将 compDeckuserDeck 移出循环。否则你会在循环的每次迭代中覆盖它们。

userDeck = ["", "", "", ""]
while n < 4:
    import random
    cardNum = random.randint(0, 8)
    userDeck[helper] = cards[cardNum]
    n = n + 1
    helper = helper + 1

也试试这个功能来节省你的时间:

https://docs.python.org/3/library/random.html#random.sample