Yazılım | Programlama Python döngüyü belirlediğim liste index'inden başlatma

ayalkin

Yeni üye
23 Haz 2014
45
1
Bursa
Baylar bayanlar hepinize merhaba. Pythona yeni başladım ve takılmış olduğum bir durum var. Olay gayet basit aslında ama ben bir türlü oturtamadım. İncelemediğim kaynak kalmadı ama bulamadım bir türlü.

Yazmış olduğum kodun bir bölümünde dışarıdaki ortamdan bir txt dosyasını alıp bu dosyanın satırlarından liste oluşturmasını istedim. Oluşturmuş olduğum bu listeyi for ile döngüye sokarken listeyi baştan okumasını istemiyorum. Örneğin 100. satırından başlayıp sırayla gitmesini istiyorum. bu durumu bir türlü başaramadım denemediğin saçmalamadığım kod kalmadı. Eminim ki çok basit bir yazımı vardır ama aklıma gelmiyor :sırıtan sizlere yazmış olduğum kodun o kısmının ham halini aşağıya bırakıyorum

For komutu için nasıl bir şey yazmam gerekiyor. komutun kendisini atsanız veya kaynak gösterseniz yeter ben üstünde oynamalar yaparım zaten mantığını çözmek istiyorum :siritan3

Konuyu yanlış yere açtıysam şimdiden kusura bakmayın

Kod:
#YORUM
likes = open("C:/Users/ayalkin/Desktop/begenenler.txt", "r")
name = likes.readlines()

sayac1 = 0
s = 0
for i in name :
            
    if sayac1 < 3 :
                
        sayac1 += 1
        s += 1
                
        yorum_alanı = browser.find_element_by_class_name('Ypffh')
        yorum_alanı.click()
        yorum_alanı = browser.find_element_by_class_name('Ypffh')
        yorum_alanı.click()
        yorum_alanı.send_keys('@' + i )
        time.sleep(3)
        gonder = browser.find_element_by_xpath('/html/body/div[1]/section/main/div/div[1]/article/div[3]/section[3]/div/form/button').click
                        
        print(" ", s, " --> ", i, "\n ETİKETLENDİ !!!")
        
    
        if sayac1 == 3 :
        
            print("\n 30 dk ara veriliyor \n")
        
            pass

        else:
            pass
        
        time.sleep(180)
        
        pass
            
    else :
                
        sayac1 = 0
        time.sleep(1800)

        pass
                   
    pass
 
Moderatör tarafında düzenlendi:

0x1D

Kıdemli Üye
23 Nis 2020
2,650
78
MARS
Cevap: Yardımcı olabilecek var mı ?

Readlines yapıp liste almışsın, çok güzel. Şimdi bu listeyi reverse edip listenin içinde döneceksin. Örnek reverse metodu kullanımı:

Kod:
reverseit =[1,2,3,4,5]

reverseit.reverse()

for _ in reverseit:
    print(_)

hoşuna gitmediyse bir while açarsın ve :

Kod:
sira = len(seninlisten)

while sira==0:
     print(seninlisten[sira])
     sira-=1

Eğer amacınız tersten başlamak değilse ikinci while döngüsü methodunu kullanmalisiniz:


Kod:
sira = istediginsira#int olsun

while sira==0:
     print(seninlisten[sira])
     sira+=1


Ayrıca konuyu yanlış yere açmışsınız, düzeltiyorum. Bu gibi sorunlarını yardım merkezine açmalısınız.
 
Son düzenleme:

ayalkin

Yeni üye
23 Haz 2014
45
1
Bursa
Cevap: Yardımcı olabilecek var mı ?

Selam reis.
https://python-istihza.yazbel.com/
bu siteden araştırabilirsin. bende yeni başladım hatayı anlamadım zaten de bu verdiğim site belki işine yarayabilir.

iyi forumlar

Saol reis teşekkürler... Kodda hata yok zaten örn 10 öğelik bir liste düşün bu listeyi for döngüsünde 1.elemanından değilde 4. elemanından başlatıp nasıl 10. elemana ulaşabiliriz biraz buna takıldıydım :siritan3


Readlines yapıp liste almışsın, çok güzel. Şimdi bu listeyi reverse edip listenin içinde döneceksin. Örnek reverse metodu kullanımı:


Ayrıca konuyu yanlış yere açmışsınız, düzeltiyorum. Bu gibi sorunlarını yardım merkezine açmalısınız.

Konu yeri ve başlığı için kusura bakmayın... Hocam kendimi yanlış ifade etmişim sanırım for komutunu while ile değiştirmeye üşendiğim için sormuştum :mahcup gerçi az önce kodun içindeki for döngüsünü while ile değiştirdim gerçi ama bu şefer size başka bir sorum var izninizle :mahcup
kod içerisine dışarıdan ikinici bir txt belgesini alıp en üst satırdaki rakamı içeri çekip int() veri tipine çevirmeye çalıştığımda sadece str olarak kullanabilir olduğuna dair çıktı aldım... txt belgesi içindeki rakamı int çevirebilme ihtimalimiz var mı?

bütün bunları neden soruyorsun derseniz eğer listeye çevirmiş olduğum metin belgesi 27550 öğeden oluşuyor :siritan3 bu programı her kapatıp açtığımda sıfırdan başlaması akıl karı olmadığı için bende kaldığı yerden devam ettirmeye çalışıyorum... hatta txt belgesinin ilk satırındaki rakama ulaşamadığım için -_- geçici bir çözüm olarak boş bir txt belgesi oluşturup boş txt belgesini len komutu ile öğe sayısını bulup döngü her tekrarlandığında txt içindeki öğe sayısını artırıp kaldığım yeri bu şekilde not almaya çalışıyorum... hocam bunun kısa yolu yok mu :gülenyüz:gülenyüz:gülenyüz
 
Son düzenleme:
19 Eki 2020
149
1
YgidBG.png


YgscZn.png
 
Son düzenleme:

0x1D

Kıdemli Üye
23 Nis 2020
2,650
78
MARS
Cevap: Yardımcı olabilecek var mı ?

Saol reis teşekkürler... Kodda hata yok zaten örn 10 öğelik bir liste düşün bu listeyi for döngüsünde 1.elemanından değilde 4. elemanından başlatıp nasıl 10. elemana ulaşabiliriz biraz buna takıldıydım :siritan3




Konu yeri ve başlığı için kusura bakmayın... Hocam kendimi yanlış ifade etmişim sanırım for komutunu while ile değiştirmeye üşendiğim için sormuştum :mahcup gerçi az önce kodun içindeki for döngüsünü while ile değiştirdim gerçi ama bu şefer size başka bir sorum var izninizle :mahcup
kod içerisine dışarıdan ikinici bir txt belgesini alıp en üst satırdaki rakamı içeri çekip int() veri tipine çevirmeye çalıştığımda sadece str olarak kullanabilir olduğuna dair çıktı aldım... txt belgesi içindeki rakamı int çevirebilme ihtimalimiz var mı?

bütün bunları neden soruyorsun derseniz eğer listeye çevirmiş olduğum metin belgesi 27550 öğeden oluşuyor :siritan3 bu programı her kapatıp açtığımda sıfırdan başlaması akıl karı olmadığı için bende kaldığı yerden devam ettirmeye çalışıyorum... hatta txt belgesinin ilk satırındaki rakama ulaşamadığım için -_- geçici bir çözüm olarak boş bir txt belgesi oluşturup boş txt belgesini len komutu ile öğe sayısını bulup döngü her tekrarlandığında txt içindeki öğe sayısını artırıp kaldığım yeri bu şekilde not almaya çalışıyorum... hocam bunun kısa yolu yok mu :gülenyüz:gülenyüz:gülenyüz


o zaman for ile liste içinde dönerken listenin aralığını ayarlayacaksın:

Kod:
lrt = [1,2,3,4,5,6]

for _ in lrt[2:]:
    print(_)

Çıktı :

 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.