Python 当我尝试使用变量列出数组时,我得到一个TypeError

Python 当我尝试使用变量列出数组时,我得到一个TypeError,python,arrays,Python,Arrays,我想做的是创建一个卡片绘制程序,但不管出于什么原因,我不能使用变量来跟踪我应该使用的列表 来自随机导入洗牌 卡片=列表([“黑桃王牌”,“黑桃1”,“黑桃2”,“黑桃3”,“黑桃4”,“黑桃5”,“黑桃6”,“黑桃8”,“黑桃9”,“黑桃10”,“黑桃杰克”,“黑桃王”,“钻石王牌”,“钻石1”,“钻石2”,“钻石3”,“钻石4”,“钻石5”,“钻石6”,“钻石7”,“钻石8”,“钻石9”,“钻石10”,“钻石杰克”阿蒙兹、钻石女王、钻石之王、俱乐部王牌、俱乐部1、俱乐部2、俱乐部3、俱乐部4、

我想做的是创建一个卡片绘制程序,但不管出于什么原因,我不能使用变量来跟踪我应该使用的列表

来自随机导入洗牌
卡片=列表([“黑桃王牌”,“黑桃1”,“黑桃2”,“黑桃3”,“黑桃4”,“黑桃5”,“黑桃6”,“黑桃8”,“黑桃9”,“黑桃10”,“黑桃杰克”,“黑桃王”,“钻石王牌”,“钻石1”,“钻石2”,“钻石3”,“钻石4”,“钻石5”,“钻石6”,“钻石7”,“钻石8”,“钻石9”,“钻石10”,“钻石杰克”阿蒙兹、钻石女王、钻石之王、俱乐部王牌、俱乐部1、俱乐部2、俱乐部3、俱乐部4、俱乐部5、俱乐部6、俱乐部7、俱乐部8、俱乐部9、俱乐部10、俱乐部杰克、俱乐部女王、俱乐部之王、俱乐部王牌、红心1、红心2、红心3、红心4、红心5、红心6、红心7、红心8、红心9、红心s 10、“‘红心杰克’、‘红心皇后’、‘红心国王’”)
尽管如此:
订单=0
牌=洗牌(牌)
而订单!=53:
如果订单==0:
打印('当前卡:'+卡[订单])
打印('最后一张卡片:-')
#输出
#TypeError:“非类型”对象不可下标
根据:

将序列x移动到位

因此,我们应该假设返回值是
None
,并且
cards
已经被洗牌。这意味着您需要更改

  cards=shuffle(cards)

卡片的值为
None
,因为洗牌应该到位(在同一列表中)。当尝试使用下面的代码获取值时,按原样获取错误
None

print('CURRENT CARD: '+cards[order])
以下工作代码通过简单迭代,根据需要更改逻辑:

import random

cards = ['Ace of Spades','Spades 1','Spades 2','Spades 3','Spades 4','Spades 5','Spades 6','Spades 7','Spades 8', 'Spades 9','Spades 10', 'Jack of Spades','Queen of Spades','King of Spades','Ace of Diamonds','Diamonds 1','Diamonds 2', 'Diamonds 3','Diamonds 4', 'Diamonds 5', 'Diamonds 6', 'Diamonds 7', 'Diamonds 8', 'Diamonds 9', 'Diamonds 10','Jack of Diamonds', 'Queen of Diamonds', 'King of Diamonds', 'Ace of Clubs', 'Clubs 1','Clubs 2','Clubs 3', 'Clubs 4', 'Clubs 5', 'Clubs 6','Clubs 7', 'Clubs 8', 'Clubs 9', 'Clubs 10', 'Jack of Clubs','Queen of Clubs','King of Clubs', 'Ace of Hearts','Hearts 1', 'Hearts 2','Hearts 3', 'Hearts 4','Hearts 5','Hearts 6','Hearts 7', 'Hearts 8', 'Hearts 9','Hearts 10', 'Jack of Hearts', 'Queen of Hearts', 'King of Hearts']
order = 0;
while True:
    random.shuffle(cards)
    print("current card:", cards[order])
    print("last card:", cards[(len(cards)-1)])
    order+1
输出:

...
current card: Diamonds 2
last card: King of Clubs
current card: Jack of Spades
last card: Spades 9
current card: Clubs 6
last card: Spades 10
current card: Diamonds 4
last card: Clubs 9
current card: Diamonds 6
last card: Spades 1
current card: Jack of Hearts
last card: Diamonds 3
current card: Spades 4
last card: Spades 1
current card: Jack of Clubs
last card: Clubs 4
current card: Spades 10
last card: Diamonds 8
current card: Spades 10
last card: Hearts 3
current card: Jack of Diamonds
last card: Diamonds 5
current card: Spades 1
...

旁注:你永远不会在循环中增加
顺序
,这样它将永远循环。约翰尼,我在代码中没有提到这一点
import random

cards = ['Ace of Spades','Spades 1','Spades 2','Spades 3','Spades 4','Spades 5','Spades 6','Spades 7','Spades 8', 'Spades 9','Spades 10', 'Jack of Spades','Queen of Spades','King of Spades','Ace of Diamonds','Diamonds 1','Diamonds 2', 'Diamonds 3','Diamonds 4', 'Diamonds 5', 'Diamonds 6', 'Diamonds 7', 'Diamonds 8', 'Diamonds 9', 'Diamonds 10','Jack of Diamonds', 'Queen of Diamonds', 'King of Diamonds', 'Ace of Clubs', 'Clubs 1','Clubs 2','Clubs 3', 'Clubs 4', 'Clubs 5', 'Clubs 6','Clubs 7', 'Clubs 8', 'Clubs 9', 'Clubs 10', 'Jack of Clubs','Queen of Clubs','King of Clubs', 'Ace of Hearts','Hearts 1', 'Hearts 2','Hearts 3', 'Hearts 4','Hearts 5','Hearts 6','Hearts 7', 'Hearts 8', 'Hearts 9','Hearts 10', 'Jack of Hearts', 'Queen of Hearts', 'King of Hearts']
order = 0;
while True:
    random.shuffle(cards)
    print("current card:", cards[order])
    print("last card:", cards[(len(cards)-1)])
    order+1
...
current card: Diamonds 2
last card: King of Clubs
current card: Jack of Spades
last card: Spades 9
current card: Clubs 6
last card: Spades 10
current card: Diamonds 4
last card: Clubs 9
current card: Diamonds 6
last card: Spades 1
current card: Jack of Hearts
last card: Diamonds 3
current card: Spades 4
last card: Spades 1
current card: Jack of Clubs
last card: Clubs 4
current card: Spades 10
last card: Diamonds 8
current card: Spades 10
last card: Hearts 3
current card: Jack of Diamonds
last card: Diamonds 5
current card: Spades 1
...