Co tu jest nie tak, że mi zwraca po kilka razy to samo? Najpierw, że nie ma lidera, a potem poprawny wynik.
def szukajlidera(tab):
lider = tab[0]
dopary = 1
n = len(tab)
print('Lista ma', n, 'elementów')
for i in range(n):
if dopary > 0:
if tab[i] == lider:
dopary = dopary+1
else:
dopary = dopary-1
else:
dopary = dopary+1
lider = tab[i]
if dopary == 0:
print('Nie ma lidera')
liczlidera = 0
for i in range(n):
if tab[i]==lider:
liczlidera=liczlidera+1
if liczlidera > n/2:
print('Lider to', lider)
A=[1, 2, 3, 4, 2, 2, 2]
B=[1, 2, 2, 3, 3, 3, 3, 2, 3]
C=[10, 30, 40, 30, 20, 10, 10]
print('A, lider to 2')
szukajlidera(A)
print('B, lider to 3')
szukajlidera(B)
print('C, lider nie ma')
szukajlidera(C)