Пока l oop продолжает работать, без al oop все работает - PullRequest
0 голосов
/ 16 января 2020

Я хочу смоделировать своего рода книгу Панини, с открывающимися пакетами (4 случайные карты), пока у меня не будет всех чисел. Моя проблема в том, что, когда я пытаюсь сделать это в течение oop, l oop продолжает работать до бесконечности. Делая это без al oop, оно просто работает.

Мой код, когда это делается без al oop

import numpy as np
import matplotlib.pyplot as plt
import random

cards = list(range(1, 11))
print("List of all cards:", cards)

choosecard = random.choices(cards, k=4)
deletecard = [i for i in cards if i not in choosecard] 
print ("After 1 packages : " + str(deletecard))

choosecard2 = random.choices(cards, k=4)
deletecard2 = [i for i in deletecard if i not in choosecard2] 
print ("After 2 packages : " + str(deletecard2))

choosecard3 = random.choices(cards, k=4)
deletecard3 = [i for i in deletecard2 if i not in choosecard3] 
print ("After 3 packages : " + str(deletecard3))

Теперь я хочу l oop это потому что я хочу использовать намного больше карт. Поэтому я подумал об этом:

L oop пример

packagesopened = 0

while len(cards) > 0 :
    choosecard = random.choices(cards, k=4)
    deletecard = [i for i in cards if i not in choosecard]
    packagesopened +=1
    print(packagesopened)

Спасибо за помощь заранее!

1 Ответ

0 голосов
/ 16 января 2020

Проблема заключалась в том, что я никогда не менял список карт, поэтому условие оставалось верным всегда.

Спасибо за указание на это, @Carcigenicate и @Mypetlion и @ Barmar.

Изменение решением проблемы было удаление карточек на карточки.

...