2015-06-06 75 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

好的,對不起。是的,讓作業操作員解決了錯誤 –

相關問題