Pomieszane są flagi stanu. W oryginalnej wersji drugi blok “if” wykonywał się tylko raz, ponieważ później blokowała go flaga “czy_malejacy”.
W poprawionej wersji w pierwszym bloku “if” jest umożliwiane wykonanie się drugiego bloku “if”, a w drugim bloku jest blokowane wykonywanie się pierwszego bloku “if”.
file = open("pi_przyklad.txt", 'r')
linie = []
for line in file:
linie.append(int(line.strip()))
print(linie)
naj_ciag = ""
for i in range(0, len(linie) - 1):
czy_rosnacy = True
czy_malejacy = False
aktualny_ciag = ""
poprzednia = linie[i]
aktualny_ciag += str(poprzednia)
for j in range(1, len(linie)-i):
aktualna = linie[i + j]
if aktualna > poprzednia and czy_rosnacy:
aktualny_ciag += str(aktualna)
czy_malejacy = True
poprzednia = aktualna
elif aktualna <= poprzednia and czy_malejacy:
aktualny_ciag += str(aktualna)
czy_rosnacy = False
poprzednia = aktualna
else:
print(aktualny_ciag)
if len(aktualny_ciag) > len(naj_ciag):
naj_ciag=aktualny_ciag
break
print(naj_ciag)