# Funktion som frågar användaren efter antalet kort i varje hög.
# Den returnerar en lista med int t ex [4,2,7] om det är tre högar med 4,2 resp 7 kort
def ange_hogar():
    hogar = list()
    # Kod som saknas
    return hogar


# Funktion som lägger patiensen, d v s tar ett kort från varje hög och skapar en ny hög
# Som indata (=parameter) har den listan med högarna innan ett kort dragits från varje hög
# Som utdata (det som står i return) ger den listan efter kort dragits
# Tänk på att högar med endast ett kort försvinner i skapandet av listan nyaHogarna.
def taEttKortFrånVarjeHog(hogarna):
    nyaHogarna = list()
    # Kod som saknas
    return nyaHogarna


# Här skrivs högarna ut t ex "4 6 8 2" eller "3 1 5"
def skrivUtPatiensen(hogarna):
    # Kod som saknas
    print(hogarna)

# Vi kollar om de nya högarna är likadana som de gamla högarna, då har patiensen gått ut.
# Returnerar True om så är fallet, annars False
def harPatiensenGattUt(hogarna, gamlaHogarna):
    tmp = True
    # Kod som saknas
    return tmp

# Här är huvudprogrammet som är navet. Det anropar funktionerna ovan.
hogar = ange_hogar()
klar = False
varv = 0
while not klar:
    varv += 1
    nyaHogar = taEttKortFrånVarjeHog(hogar)
    skrivUtPatiensen(nyaHogar)
    if(harPatiensenGattUt(nyaHogar,hogar)):
        print('Patiensen gick ut.')
        klar = True
    if(varv>50): # Ge upp efter 50 försök
        print('Patiensen gick INTE ut.')
        klar = True
    hogar=nyaHogar
    
