Python nyolcadik felvonás - Lineáris vagy szekvenciális keresés

 Amikor egy programozási nyelvet használunk ajánlatos a programozási alaptételek megvalósítását adott nyelven. Egyes elméletek szerint a programozási alaptételekkel bármilyen problémát képesek vagyunk megoldani, bár nem mindig a legegyszerűbb módon. A következő programozási tétel legyen az lineáris vagy szekvenciális keresés tétele szabályosan megfogalmazva.


import random

szamok = []


for x in range(5):

    szamok.append(random.randrange(1,10))


for x in range(len(szamok)):

    print(szamok[x])

print("-------");


lep = 0;

while lep < len(szamok) and szamok[lep]!=4:

    print(szamok[lep]);   

    lep=lep+1;


if lep==len(szamok):

    print("Nincs benne")

else:

    print("van benne")

    print(str(lep+1) + " helyen található a sorban")


A program megint véletlenszámokat állít elő számszerint egy 5 elemű tömböt tölt fel, 1 és 10 közötti számokkal. A feltöltés után elkezdi elemezni a tömb elemeit. Amikor megtalálja a keresett értéket az elöltesztelő ciklusba már nem lép be. Ebből következik, ha a lep valtozó értéke, vagyis a megvizsgált elemek száma megegyezik a tömb eleminek számával, hogy nincs benne a keresett érték. Jelen esetben a négyes szám. Ha viszont nem tud végigfutni mert megtalálható benne, akkor a megvizsgált elemek számához egyet adni kell, hogy megkapjuk hányadik elem a sorban a keresett érték. Az eggyel emelés a tömb számozásának speciális megfogalmazásából következik, mert a tömb 0 elemeinek meghatározása 0-ról indul


Pyton cikkek gyüjtő oldala