Esempio n. 1
0
def odhajanje_iz_kroga(imena, n):
    '''Vrne verižni seznam namesto običajnega'''
    i = 0
    slovar = []
    while len(imena) > 0:
        i = (i + n - 1) % len(imena)
        slovar.append(imena[i])
        del imena[i]
    return iz_seznama(slovar[::-1])
Esempio n. 2
0
 def test_pomovitev(self):
     self.assertEqual(st_ponovitev(iz_seznama([5, 2, 7, 1, 4, 1, 5, 3, 7])),
                      {
                          5: 2,
                          2: 1,
                          7: 2,
                          1: 2,
                          4: 1,
                          3: 1
                      })
Esempio n. 3
0
 def test_pomovitev(self):
     self.assertEqual(
         st_ponovitev(
             iz_seznama([5, 5, 6, 3, 9, 3, -8, 2, 5, 6, 40, 7, 7, 4, 2,
                         1])), {
                             5: 3,
                             6: 2,
                             3: 2,
                             9: 1,
                             -8: 1,
                             2: 2,
                             40: 1,
                             7: 2,
                             4: 1,
                             1: 1
                         })
Esempio n. 4
0
    elementi = {}
    kjesmo = v
    if kjesmo == None:
        return elementi
    while kjesmo != None:
        if kjesmo.podatek in elementi:
            elementi[kjesmo.podatek] += 1
        else:
            elementi[kjesmo.podatek] = 1
        kjesmo = kjesmo.naslednji

    return elementi


#Testi:
veriga0 = iz_seznama([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 22])
veriga1 = iz_seznama([1, 2, 3, 2, 5, 6, 7, 2, 9, 10, 22])
veriga2 = iz_seznama([1, 2, 33, 4, 5, 33, -20, 0, 0])
veriga3 = iz_seznama([])
veriga4 = iz_seznama(
    ['asd', -10, 0, None, None, True, False, False, 'asd', '123',
     123])  #dogovor, 0 in False štejemo skupaj
veriga5 = None

vozli = [veriga0, veriga1, veriga2, veriga3, veriga4, veriga5]
seznam = [{
    1: 1,
    2: 1,
    3: 1,
    4: 1,
    5: 1,
Esempio n. 5
0
def pojavitve(prvi):
    '''za vsak element verige vrne število njegovih pojavitev'''
    slovar = dict()
    while prvi is not None:
        if prvi.podatek not in slovar.keys():
            slovar[prvi.podatek] = 1  # dodamo podatek kot kljuc v slovar
        else:  # ce pa je ta kljuc ze v slovarju, mu povecamo vrednost
            slovar[prvi.podatek] += 1
        prvi = prvi.naslednji
    return slovar


##Testni primeri:

seznam1 = [1, 2, 3, 1]
veriga1 = iz_seznama(seznam1)
#print(veriga1)
#print(pojavitve(veriga1))
#print('resitev')
#print('True')

seznam2 = [1, 2, 2, 3, 1]
veriga2 = iz_seznama(seznam2)
#print(veriga2)
#print(pojavitve(veriga2))

seznam3 = [1, 2, 2, 3, 5, 6, 3, 1]
veriga3 = iz_seznama(seznam3)
#print(veriga3)
#print(pojavitve(veriga3))
Esempio n. 6
0
 def test_ponovitev(self):
     self.assertEqual(st_ponovitev(iz_seznama([5])), {5: 1})
def podvoji_verigo(prvi):
    """vrne novo identicno kopijo verige, pri tem stare ne spremeni"""
    return iz_seznama(vrni_seznam(prvi))
def stevilska_veriga(a, b):
    """Vrne referenco na prvi vozel v verigi, ki zaporedoma vsebuje stevila med a in b"""
    return iz_seznama([i for i in range(a, b + 1)])