python - return statement has an error.. missing 1 required positional argument -
i want make bomb game queue. return statement has error don't know what's wrong.... it's code , error message please help.enter image description here i'm trying delete "players" until 1 person left.. , person winner of game. return person variable "win" doesn't work...
import random class arrayqueue: default_capacity=10 def __init__(self): self._data=[none]*arrayqueue.default_capacity self._size=0 self._front=0 def __len__(self): return self._size def is_empty(self): return self._size==0 def first(self): if self.is_empty(): raise empty("queue empty") return self._data[self._front] def dequeue(self): if self.is_empty(): raise empty("queue empty") answer=self._data[self._front] self._data[self._front]=none self._front=(self._front+1)%len(self._data) self._size-=1 return answer def enqueue(self, e): if self._size==len(self._data): self._resize(2*len(self.data)) avail=(self._front+self._size)%len(self._data) self._data[avail]=e self._size+=1 def _resize(self,cap): old=self._data self._data=[none]*cap walk=self._front k in range(self._size): self._data[k]=old[walk] walk=(1+walk)%len(old) self._front=0 def hot_potato(self,players): pl=arrayqueue in range(len(players)): pl.enqueue(players[i]) rnum=random.randint(1,pl.__len__) while(true): bomb=pl.dequeue() if rnum!=0: pl.enqueue(bomb) else: bomb=none rnum=random.randint(1,p1.__len__) if p1.__len__==1: win=pl.dequeue() break return win players=["홍길동","홍동길","길홍동","길동홍","동홍길","동길홍","최정주","오소명","강그루"] winner=hot_potato(players) print(winner)
Comments
Post a Comment