Új hozzászólás Aktív témák

  • moseras

    tag

    válasz kezdosql #2311 üzenetére

    Üdv,

    A Python ajánlásait nem tartja be, de lehet, hogy jó az összefüggő listák kigyűjtésére (rendezés nincs):
    Az eredményt nem írom le, próbáld ki.

    import string

    def rr(n):
    # erre pontos nyelvtani megoldás ?
    if abs(n)%10 in (3,6,8) or abs(n)%100 in (20,30,60,80):
    return 'ra'
    return 're'

    li01 = 'ABCDEFGHIJKLMNOPRSTUVW'
    li02 = 'BCDEIJKOPQRSTUV'
    li03 = 'BCDHIJKLQRSTW'
    li04 = 'CDJKNOQRSTU'
    li05 = 'ABCGKLMQRS'
    li06 = 'BCDEKNOTU'
    li07 = 'BELQSVW'
    li08 = 'BEJNOU'
    li09 = 'FJTUW'
    li10 = 'GHIJR'
    li11 = 'EHILW'
    li12 = 'TUVW'
    li13 = 'APV'
    li14 = 'FM'
    li15 = 'Q'

    normal_lista = [li01, li02, li03, li04, li05,
    li06, li07, li08, li09, li10,
    li11, li12, li13, li14, li15]

    halmaz_lista = [set(li01), set(li02), set(li03), set(li04), set(li05),
    set(li06), set(li07), set(li08), set(li09), set(li10),
    set(li11), set(li12), set(li13), set(li14), set(li15)]

    print(normal_lista)
    print()

    list_len = len(normal_lista)

    #
    # összefüggő listák kigyűjtése csak előre keresve
    #
    osszefuggo_listak = []
    for i in range(list_len):
    osszefuggo_listak.append([normal_lista[i]])
    for j in range(i+1, list_len):
    if i == j:
    continue
    if (len(halmaz_lista[i].intersection(halmaz_lista[j])) > 0):
    osszefuggo_listak[i].append(normal_lista[j])

    for idx, e in enumerate(osszefuggo_listak):
    print('A(z) {}.-{} nézve összefüggő listák (csak előre keresve): {}'.format(idx+1, rr(idx+1), e))

    print()

    #
    # összefüggő listák kigyűjtése előre és visszafelé is keresve
    #
    osszefuggo_listak2 = []
    for i in range(list_len):
    osszefuggo_listak2.append([normal_lista[i]])
    for j in range(list_len):
    if i == j:
    continue
    if (len(halmaz_lista[i].intersection(halmaz_lista[j])) > 0):
    osszefuggo_listak2[i].append(normal_lista[j])

    for idx, e in enumerate(osszefuggo_listak2):
    print('A(z) {}.-{} nézve összefüggő listák (előre és visszafelé is keresve): {}'.format(idx+1, rr(idx+1), e))

Új hozzászólás Aktív témák