python - 将值索引回列表 - 为什么说它不在列表中?
问题描述
我正在尝试使用 list.index() 函数,但它说我要索引的对象不在列表中。
我没有尝试太多,因为老实说我不太了解python,但我尝试在线搜索问题。
heartsCards = ["Ace of Hearts","Two of Hearts","Three of Hearts","Four of Hearts","Five of Hearts","Six of Hearts","Seven of Hearts","Eight of Hearts","Nine of Hearts","Ten of Hearts","Jack of Hearts","Queen of Hearts","King of Hearts"]
diamondsCards = ["Ace of Diamonds","Two of Diamonds","Three of Diamonds","Four of Diamonds","Five of Diamonds","Six of Diamonds","Seven of Diamonds","Eight of Diamonds","Nine of Diamonds","Ten of Diamonds","Jack of Diamonds","Queen of Diamonds","King of Diamonds"]
clubsCards = ["Ace of Clubs","Two of Clubs","Three of Clubs","Four of Clubs","Five of Clubs","Six of Clubs","Seven of Clubs","Eight of Clubs","Nine of Clubs","Ten of Clubs","Jack of Clubs","Queen of Clubs","King of Clubs"]
spadesCards = ["Ace of Spades","Two of Spades","Three of Spades","Four of Spades","Five of Spades","Six of Spades","Seven of Spades","Eight of Spades","Nine of Spades","Ten of Spades","Jack of Spades","Queen of Spades","King of Spades"]
yourCards = []
cardValue = 0
def pickUp():
randomNum = random.randint(1,4)
if randomNum == 1:
temp = random.choice(heartsCards)
yourCards.append(temp)
heartsCards.remove(temp)
if randomNum == 2:
temp = random.choice(diamondsCards)
yourCards.append(temp)
diamondsCards.remove(temp)
if randomNum == 3:
temp = random.choice(clubsCards)
yourCards.append(temp)
clubsCards.remove(temp)
if randomNum == 4:
temp = random.choice(spadesCards)
yourCards.append(temp)
spadesCards.remove(temp)
def cardCount():
global cardValue
for card in yourCards:
if card.count("Hearts") != 0:
cardValue =+ heartsCards.index(card) + 1
if card.count("Diamonds") != 0:
cardValue =+ diamondsCards.index(card) + 1
if card.count("Clubs") != 0:
cardValue =+ clubsCards.index(card) + 1
if card.count("Spades") != 0:
cardValue =+ spadesCards.index(card) + 1
return cardValue
pickUp()
pickUp()
cardCount()
我希望将变量 cardValue 打印为卡片的值。但是我收到了这个错误:
Traceback (most recent call last):
File "C:\Users\User\Desktop\Python\Pontoon.py", line 97, in <module>
cardCount()
File "C:\Users\User\Desktop\Python\Pontoon.py", line 68, in cardCount
cardValue =+ diamondsCards.index(card) + 1
ValueError: 'Nine of Diamonds' is not in list
解决方案
jasonharper在评论中所说的有效:
When
pickUp()
chooses a card, it is removed from the suit list. 您不能再使用.index()
它在该列表中找到它的位置。
推荐阅读
- firebase - Flutter pub 获取约束
- kotlin - 项目同步成功后,设计编辑器才可用
- localization - 如果 Sanity Studio 中没有可用于当前语言环境的文档,如何查询备用文档?
- python - 如何在 colab 中使用 pytesseract 从图像中提取文本?
- javascript - 按产品或项目过滤
- javascript - Webpack 将 lib 与 html 文件捆绑为单个 js
- android-studio - 在 android studio 中为 google admob 添加测试设备时出错
- docker - 在 Azure Functions PowerShell 运行时本地 Docker 映像中使用 HTTPS
- r - REST API POST 和安全性
- c++ - C ++ constexpr 布尔值与宏