Ошибка значения: список.удалить(x): x нет в списке (проблемы со списком)

#python #list #pygame #append

#питон #Список #pygame #добавлять

Вопрос:

Почему, когда я пытаюсь удалить пузырь из списка, он говорит, что пузыря нет в списке. Сначала у меня возникла проблема с попыткой добавить второй пузырь, но я посмотрел, как это сделать. Для этой проблемы я посмотрел, как ее решить, и там было сказано добавить .скопируйте, где находятся мои циклы for, но это не сработало. Пожалуйста, помогите быстро и заранее спасибо!

 class Bubble():  def __init__(self, x, y, width, height):  self.x = x  self.y = y  self.width = width  self.height = height  self.vel = 1  self.velx = 4  self.jumpcount = 13  self.left = False  self.right = False  self.walkcount = 0  self.max = 399  self.facing = 5   def drawb(self, win):  win.blit(ball, (self.x,self.y))  def pop():  bubbles.append(Bubble(0, 0, 100, 100))  def redrawGameWindow():  win.blit(background, (0, -150))  for bullet in bullets:  bullet.draw3(win)  for arrow in arrows:  arrow.draw4(win)  octo.draw(win)  for bubble in bubbles:  b.drawb(win)  octo2.draw2(win)  pygame.display.update()  run = True b = Bubble(0, 0, 64, 64) octo2 = p2(300, 400, 64, 64) octo = p1(300, 400, 64, 64) bullets = [] arrows = [] bubbles = [] if start:  bubbles.append(Bubble(0, 0, 100, 100)) while run:  clock.tick(27)  for event in pygame.event.get():  if event.type == pygame.QUIT:  run = False   for bullet in bullets:  if bullet.y gt; -100:  bullet.y -= bullet.vel  d_x = abs(bullet.x) - abs(b.x)  d_y = abs(bullet.y) - abs(b.y)  d = math.sqrt(d_x**2   d_y**2)  if d lt; 50:  bubbles.remove(Bubble)  pop()  bullets.pop(bullets.index(bullet))  else:  bullets.pop(bullets.index(bullet))   for arrow in arrows:  if arrow.y gt; -100:  arrow.y -= arrow.vel  d_x = abs(arrow.x) - abs(b.x)  d_y = abs(arrow.y) - abs(b.y)  d = math.sqrt(d_x**2   d_y**2)  if d lt; 50:  bubbles.remove(Bubble)  pop()  arrows.pop(arrows.index(arrow))  else:  arrows.pop(arrows.index(arrow))    for bubble in bubbles:   if b.velx gt;= 9:  b.velx = 9   if start:  b.y  = 9  b.x  = 3  if b.y gt; 360:  jump = True  start = False    if (b.facing == 5):  direction = 1  else:  direction = -1    if b.x gt; 775:  b.facing = 0  grav  = 0.15   if b.x lt; 0:  b.facing = 5  grav  = 0.15  b.velx  = 1   if grav gt;= 7:  grav = 7  b.velx  = 1   if jumpcount gt;= -15 and jump and b.y lt; 360:  b.x  = b.velx * direction  b.y -= ((jumpcount * abs(jumpcount)) * 0.25) / grav  b.vel -= 1  jumpcount -= (.5)  else:  if b.y gt;= 361:  jumpcount = b.jumpcount  b.y -= (abs((jumpcount * abs(jumpcount)) * 0.25) / grav)  

Ответ №1:

Вы пытаетесь удалить Bubble класс, а не конкретный экземпляр.

Комментарии:

1. Как бы я это исправил?