1. Ayyıldız Tim forumu Hariç Hiç Bir şekilde Rütbeli Oldugunu İddaa edenlere inanmayınız..⠀ Ayyıldız Tim Adına Sizden Bilgi Belge TC Kimlik Vb Evrak İsteyenlere Asla Bilgilerinizi Vermeyiniz.

Python Linear Search Algorithm Yardim

'Python' forumunda The61 tarafından 23 Ocak 2019 tarihinde açılan konu

  1. The61 Guest

    • Guest
    Katılım:
    20 Temmuz 2017
    Mesaj:
    608
    Alınan Beğeniler:
    499

    Özel Mesaj
    Kod ;
    PHP:
    def linearsearch(dizi,sayi):
        for 
    i in range(0,len(dizi)):
            if(
    sayi == dizi[i]):
                print(
    sayi,"sayisi dizinin",i,".sirasinda bulunmustur")
            else:
                print(
    sayi,"sayisi dizide bulunamadi")
                
          
                  
    diziX = [10,20,40,60,80,-5,3,189,120,999,1000]
    sayiX int(input(">>"))   
    linearsearch(diziX,sayiX)
    Else koydugumda dongu bitene kadar yaziyi bastiriyor fakat break komutunu ekledigimde ve tekrar kodu calistirdigimda program dogru calismiyor.

    Dongu bitmedigi icin 2 koşul da sağlanıyor bu yüzden karisiyor .
     
    AydoganGotu ve dragov bunu beğendi.
  2. note Atıldı

    • Guest
    Katılım:
    20 Nisan 2017
    Mesaj:
    3,716
    Alınan Beğeniler:
    6,800

    Özel Mesaj
    Şöyle olabilir

    Kod:
    def linearsearch(dizi,sayi):
        for i in range(0,len(dizi)):
            if(sayi == dizi[i]):
                print("{}. sırada bulundu".format(i))
                return True
    
        print("Bulunamadı")
        return False
            
    diziX = [10,20,40,60,80,-5,3,189,120,999,1000]
    sayiX = int(input(">>")) 
    linearsearch(diziX,sayiX)
     
  3. The61 Guest

    • Guest
    Katılım:
    20 Temmuz 2017
    Mesaj:
    608
    Alınan Beğeniler:
    499

    Özel Mesaj
    Peki while dongusunun icine aldiktan sonra nasil yapabilirim ?
    PHP:
    def linearsearch(dizi,sayi):
        while 
    True:
            for 
    i in range(0,len(dizi)):
                if(
    sayi == dizi[i]):
                    print(
    "{} sayisi {} . sirada bulundu".format(sayi,i))
                    return 
    True
            
            
    print("{} sayisi dizi içerisinde bulunamadi".format(sayi))
            return 
    False
                
          
                
                    
    diziX 
    = [10,20,40,60,80,-5,3,189,120,999,1000]
    sayiX int(input(">>"))   
    linearsearch(diziX,sayiX)
     
    AydoganGotu bunu beğendi.
  4. note Atıldı

    • Guest
    Katılım:
    20 Nisan 2017
    Mesaj:
    3,716
    Alınan Beğeniler:
    6,800

    Özel Mesaj
    While döngüsü içerisine almana gerek yok ki. Zaten döngü işini for ile yapıyorsun. While True ifadesi hiçbir anlam ifade etmiyor burada.
     
    AydoganGotu ve The61 bunu beğendi.
  5. The61 Guest

    • Guest
    Katılım:
    20 Temmuz 2017
    Mesaj:
    608
    Alınan Beğeniler:
    499

    Özel Mesaj
    O anlamda değil yani sayi aramayi sürdürmek için
     
    AydoganGotu bunu beğendi.
  6. note Atıldı

    • Guest
    Katılım:
    20 Nisan 2017
    Mesaj:
    3,716
    Alınan Beğeniler:
    6,800

    Özel Mesaj
    for döngüsü ile zaten dizinin tüm elemanlarına uğruyorsun. Sayıyı bulduğun anda dizinin geri kalanını aramana gerek kalmıyor. for döngüsünde eleman bulunamazsa, for döngüsü bittikten sonra arayacak index kalmadığı için for döngüsü dışına eleman bulunamadı yazdırdık.
     
    AydoganGotu ve The61 bunu beğendi.
  7. The61 Guest

    • Guest
    Katılım:
    20 Temmuz 2017
    Mesaj:
    608
    Alınan Beğeniler:
    499

    Özel Mesaj
    :) kullanicidan aldigim inputun devamı için
    fakat bu gerekir mi bilmiyorum
     
    AydoganGotu bunu beğendi.
  8. note Atıldı

    • Guest
    Katılım:
    20 Nisan 2017
    Mesaj:
    3,716
    Alınan Beğeniler:
    6,800

    Özel Mesaj
    O zaman while döngüsünü kullanıcıdan girdi aldığın yere koymalısın. Yani girdiyi while içinde alıp fonksiyonu çağıracaksın sürekli.

    Kod:
    def linearsearch(dizi,sayi):
       for i in range(0,len(dizi)):
           if(sayi == dizi[i]):
               print("{}. sırada bulundu".format(i))
               return True
    
       print("Bulunamadı")
       return False
           
    diziX = [10,20,40,60,80,-5,3,189,120,999,1000]
    while True:
        sayiX = int(input(">>"))
        linearsearch(diziX,sayiX)
    
     
    AydoganGotu bunu beğendi.
  9. The61 Guest

    • Guest
    Katılım:
    20 Temmuz 2017
    Mesaj:
    608
    Alınan Beğeniler:
    499

    Özel Mesaj
    PHP:
    def linearsearch(dizi,sayi):
        for 
    i in range(0,len(dizi)):
            if(
    sayi == dizi[i]):
                print(
    "{} sayisi {} . sirada bulundu".format(sayi,i))
                return 
    True
            
            
    print("{} sayisi dizi içerisinde bulunamadi".format(sayi))
            return 
    False
                
                  
    diziX 
    = [10,20,40,60,80,-5,3,189,120,999,1000]
    while 
    True:
        
    sayiX int(input(">>"))
        
    linearsearch(diziX,sayiX)
    >> 1000
    sonuc : 1000 sayisi dizi icerisinde bulunamadi
    >> 10
    sonuc : 10 sayisi 0.sirada bulundu
    >> 20
    sonuc : 20 sayisi dizi icerisinde bulunamadi
     
    AydoganGotu bunu beğendi.
  10. note Atıldı

    • Guest
    Katılım:
    20 Nisan 2017
    Mesaj:
    3,716
    Alınan Beğeniler:
    6,800

    Özel Mesaj

    Ben de neden çalışıyor?

    Kod:
    >>20
    1. sırada bulundu
    >>1000
    10. sırada bulundu
    >>10
    0. sırada bulundu
    >>
    
     
    AydoganGotu bunu beğendi.
    • Guest
    Katılım:
    30 Eylül 2016
    Mesaj:
    1,663
    Alınan Beğeniler:
    1,752

    Özel Mesaj
    Ben telefonda pydroid de çalıştırdım bende hiç bir eleman yok diyor mesela 20 yazıyorum yok diyor.
     
    AydoganGotu bunu beğendi.
  11. The61 Guest

    • Guest
    Katılım:
    20 Temmuz 2017
    Mesaj:
    608
    Alınan Beğeniler:
    499

    Özel Mesaj
    qpython ile çalıştırıyorum
     
    AydoganGotu bunu beğendi.
  12. note Atıldı

    • Guest
    Katılım:
    20 Nisan 2017
    Mesaj:
    3,716
    Alınan Beğeniler:
    6,800

    Özel Mesaj
    Mobilde sıkıntı çıkıyor bazen. Ben de bazen basit bir kodu düzgün çalıştıramıyorum.
     
    AydoganGotu, The61 ve Alparslan5545 bunu beğendi.
    • Guest
    Katılım:
    30 Eylül 2016
    Mesaj:
    1,663
    Alınan Beğeniler:
    1,752

    Özel Mesaj
    Kod:
    def linearsearch(dizi,sayi):
        for i in range(0,len(dizi)):
            if sayi == dizi[i]:
                print("{} sayisi {} . sirada bulundu".format(sayi,i))
                return True
            else:
                continue
            print("{} sayisi dizi içerisinde bulunamadi".format(sayi))
            return False
                
                  
    diziX = [10,20,40,60,80,-5,3,189,120,999,1000]
    while True:
        sayiX = int(input(">>"))
        linearsearch(diziX,sayiX)
    Böyle dener misiniz?
     
    AydoganGotu bunu beğendi.
    • Guest
    Katılım:
    30 Eylül 2016
    Mesaj:
    1,663
    Alınan Beğeniler:
    1,752

    Özel Mesaj
    Böyle olunca buluyor ama olmayan elemana hiç bir şey yazmıyor
     
    AydoganGotu bunu beğendi.
  13. note Atıldı

    • Guest
    Katılım:
    20 Nisan 2017
    Mesaj:
    3,716
    Alınan Beğeniler:
    6,800

    Özel Mesaj
    Çünkü burası alt kısmı engelliyor
     
    AydoganGotu ve Alparslan5545 bunu beğendi.
    • Guest
    Katılım:
    30 Eylül 2016
    Mesaj:
    1,663
    Alınan Beğeniler:
    1,752

    Özel Mesaj
    Oraya pass koyunca çalıştı
     
    AydoganGotu bunu beğendi.
    • Guest
    Katılım:
    30 Eylül 2016
    Mesaj:
    1,663
    Alınan Beğeniler:
    1,752

    Özel Mesaj
    Kod:
    def linearsearch(dizi,sayi):
        for i in range(0,len(dizi)):
            if sayi == dizi[i]:
                print("{} sayisi {} . sirada bulundu".format(sayi,i))
                return True
            else:
                pass
            print("{} sayisi dizi içerisinde bulunamadi".format(sayi))
            return False
                
                  
    diziX = [10,20,40,60,80,-5,3,189,120,999,1000]
    while True:
        sayiX = int(input(">>"))
        linearsearch(diziX,sayiX)
    Böyle çalışması lazım bende çalıştı The61
     
    AydoganGotu ve note bunu beğendi.
  14. The61 Guest

    • Guest
    Katılım:
    20 Temmuz 2017
    Mesaj:
    608
    Alınan Beğeniler:
    499

    Özel Mesaj
    :( maalesef çalışmadı .
     
    AydoganGotu bunu beğendi.
    • Guest
    Katılım:
    30 Eylül 2016
    Mesaj:
    1,663
    Alınan Beğeniler:
    1,752

    Özel Mesaj
    Boşluklardan dolayı mı hata veriyor eğer öyle ise düzenler misiniz öyle deneyin bir de
    . Eğer öyle değilse problem nerede bilmiyorum.
     
    AydoganGotu bunu beğendi.

Bu Sayfayı Paylaş