python type error: does not support indexing
python type error: does not support indexing
import simplegui
import random
top=52
in_play=False
suits=('C','S','H','D')
ranks=('A','2','3','4','5','6','7','8','9','T','J','Q','K')
alist=range(0,52)
def deal():
global outcome,in_play,alist,top
if not in_play:
alist=range(0,52)
in_play=True
r = random.randint(0,top)
card=Card(suits[alist[r]//13],ranks[alist[r]//4]) #line 73
alist=alist.remove(alist[r])
top=top-1
return card
class Card:
def __init__(self,suit,rank):
global suits,ranks
if (suit in suits) and (rank in ranks):
self.suit=suit
self.rank=rank
else:
self.suite=None
self.rank=None
print "invalid card:",suit,rank
def __str__(self):
return self.suit+self.rank
def get_suit(self):
return self.suit
def get_rank(self):
return self.rank
def draw(self,canvas,pos):
card_loc=(card_centre[0]+card_size[0]*ranks.index(self.rank),
card_centre[1]+card_size[1]*suits.index(self.suit) )
canvas.draw_image(card_images,card_loc,card_size,[pos[0]+card_centre[0],pos[1]+card_centre[1]],card_size)
这是 codeskulptor 中我 运行 代码的一部分
它显示错误:
第 73 行:TypeError:'NoneType' 不支持索引
..................................................... ..................................................... ..................................................... ..........
list.remove
就地工作,returns None
。因此第 74 行将 alist
设置为 None
:
alist=alist.remove(alist[r])
只留下作业。
import simplegui
import random
top=52
in_play=False
suits=('C','S','H','D')
ranks=('A','2','3','4','5','6','7','8','9','T','J','Q','K')
alist=range(0,52)
def deal():
global outcome,in_play,alist,top
if not in_play:
alist=range(0,52)
in_play=True
r = random.randint(0,top)
card=Card(suits[alist[r]//13],ranks[alist[r]//4]) #line 73
alist=alist.remove(alist[r])
top=top-1
return card
class Card:
def __init__(self,suit,rank):
global suits,ranks
if (suit in suits) and (rank in ranks):
self.suit=suit
self.rank=rank
else:
self.suite=None
self.rank=None
print "invalid card:",suit,rank
def __str__(self):
return self.suit+self.rank
def get_suit(self):
return self.suit
def get_rank(self):
return self.rank
def draw(self,canvas,pos):
card_loc=(card_centre[0]+card_size[0]*ranks.index(self.rank),
card_centre[1]+card_size[1]*suits.index(self.suit) )
canvas.draw_image(card_images,card_loc,card_size,[pos[0]+card_centre[0],pos[1]+card_centre[1]],card_size)
这是 codeskulptor 中我 运行 代码的一部分 它显示错误: 第 73 行:TypeError:'NoneType' 不支持索引 ..................................................... ..................................................... ..................................................... ..........
list.remove
就地工作,returns None
。因此第 74 行将 alist
设置为 None
:
alist=alist.remove(alist[r])
只留下作业。