2015-06-06 76 views
0
 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) 

此i的codeskulptor 跑其显示错误代码的一部分:73 行:类型错误:“NoneType”不支持索引 ...... .................................................. .................................................. .................................................. ...蟒类型错误:不支持索引

+0

您的代码格式不正确。你可能想这样做?带缩进可以完全改变Python代码的含义! – gabhijit

回答

0

list.remove inplace工作并返回None。因此线74套alistNone

  alist=alist.remove(alist[r]) 

刚刚离开转让出去。

+0

我做了它现在显示错误:ValueError:randrange()(0,0,0)的空范围 –

+0

这个问题不是你的问题/代码的一部分。你应该问一个新的而不是评论。如果答案帮助您解决了问题,请接受它。 – tynn

+0

好的,对不起。是的,让作业操作员解决了错误 –

相关问题