فهرست بستن

پایتون یازیلیملاما دیلینده حلقه‌لر اوزره قیسا آچیقلاما

گئچن اون ایلده یئیین گلیشمه‌سی ایله آدی دیللره دوشن پایتون یازیلیملاما دیلی آز آز بوتون ساحه‌لرده اؤزونه گؤرونَکلی یئر آچمیش دیر. بو یازیدا پایتون دیلینده حلقه‌لرین نئجه یازیلماسی و هانسی مقصدلر اوچون ایشلنمه‌سی اوزره بحث اولاجاق دیر.

بسم الله الرحمن الرحیم

پایتون یازیلیملاما دیلینده ایکی حلقه شکلی وار دیر، for داهی while. بو ایکی حلقه فرقلی موقعیتلر فرقلی مقصدلر اوچون ایشله‌نرلر لکن بیری اوبیریسینین ایشینی ده گؤره‌بیلر. ایلک اولاراق for حلقه‌سی و اوندان سونرا while حلقه‌سی اوزره بحث سوروله‌جک دیر.

پایتون دیلینده for حلقه‌سی بیر توالی عضولرینین بیر بیر گؤتورولمه‌سی ایله ایشله‌یَر. آشاغیدا یازیلان مثالا دقت ائدینیز:

sayilar = [5, 7, 3, 9, 1]

for sayi in sayilar:
    print(sayi)

بو مثالی اجرا ائدیب چیخیشینا باخسانیز sayilar لیستی ایچینده اولان ساییلارین بیر بیر گؤتورولوب ترمینالدا یازیلماسینی گؤررسینیز. بئله‌لیکله پایتوندا for ماهیّتینین باشقا یازیلیملاما دیللری ایله فرقلی اولماسینی گؤردوک. باشقا دیللرده (مثال اولاراق ++C دیلینده) for، بیر باشلانیش مقدارلانمادان سونرا شرطی دوغرولمایینجا بلیرتیلن ایشلری حلقه دییشیلنلری اوستونده قاییتیب گؤره‌جکدیر لکن پایتوندا for بیر توالی عضولرینی بیر بیر حلقه دییشیلنینده قویوب، حلقه ایچینده‌کی یازیلان ایشلری حلقه دییشیلنی مقدارینا دایاناراق ائیله‌یه‌جکدیر.

توالی‌لاری حلقه‌ده ایشلتمک اوچون range تابعی ایله یارالدابیله‌ریک. بو تابعی بیر گیریشلی، ایکی گیریشلی داهی اوچ گیریشلی چاغیرابیله‌ریک. بیر گیریشلی چاغیراندا توالی صفردن باشلاییب، گیریش وئریلن سایییاجا دوامی اولاجاق، لکن گیریش وئریلن سایی توالی‌دا عضو اولمایاجاقدیر. تابعی ایکی گیریشلی چاغیراندا توالینین قورتولان ساییسیندان علاوه، باشلانیشینی دا بلیرتمه‌لیییک. بیرینجی گیریش توالینین باشلانیشی و ایکینجی گیریش توالینین قورتولوشو اولمالی دیر. تابعی اوچ گیریشلی چاغیرساق دا باشلانیش ایله قورتولوشدان سونرا آتدیمی دا وئرمه‌لیییک. آشاغیداکی مثال بو تابعین نئجه ایشلنمه‌سینی آیدینلاداجاقدیر:

for sayi in range(5):
    print(sayi)

print("\n")

for sayi in range(5, 10):
    print(sayi)

print("\n")

for sayi in range(5, 10, 2):
    print(sayi)

while حلقه‌سی پایتون دیلینده باشقا یازیلیملاما دیللری کیمی ایشله‌نَر. while حلقه‌سینی یازماق اوچون بیر شرطیمیز اولمالی دیر. بو شرط دوغرو اولونجا حلقه قاییتیب اجرا اولاجاقدیر. آشاغیداکی مثال‌دا while حلقه‌سینین نئجه ایشلنمه‌سینی گؤره‌بیلرسینیز:

sayi = 0

while sayi < 5:
    sayi += 1
    print(sayi)

حلقه‌لرین نئجه یازیلماسینی تانیدیغیمیزدان سونرا، ایکی break ایله continue بویوروغونو تانیمالیییق. آدلاریندان بللی اولدوغو کیمی break حلقه‌نین ایشینی دایاندیریب، continue حلقه‌نین ایچینده‌کی کدلاری چاغیریلان یئردن دایاندیریب، قاییدیب حلقه دییشیلنینی یئنیله‌دیب حلقه کدلارینین اجراسینا دوام ائدیر. آشاغیداکی مثال ایله بو ایکی بویوروق ایشی آیدینلانار:

count = 0
while True:
    print(count)
    count += 1
    if count >= 5:
        break

print("\n")

for x in range(10):
    if x % 2 == 0:
        continue
    print(x)

اوستده‌کی کددا بیرینجی قسمت صفردن دؤرده‌جه بوتون ساییلاری، ایکینجی قسمت ده صفر دن اوناجا فرد عددلری ترمینال دا یازاجاقدیر.

پایتون یازیلیملاما دیلینده حلقه‌لره گؤره سون سؤز elseـین ایشله‌نیشی دیر. پایتوندا حلقه کد بلوکلارینین قورتولماسیندان سونرا else یازابیله‌ریک. else ایچینده یازیلان کدلار حلقه‌نین طبیعی سونلانماسیندان سونرا اجرا اولاجاقلار لکن حلقه بیر break بویوروغو ایله دایاندیریلسا else ایچره یازیلان کدلار اجرا اولمایاجاقلار. آشاغیداکی مثالدا سؤزو سورولن مسئله‌نی گؤره‌بیلرسینیز:

count=0
while(count<5):
    print(count)
    count +=1
else:
    print("count value reached %d" %(count))

for i in range(1, 10):
    if(i%5==0):
        break
    print(i)
else:
    print("this is not printed because for loop is terminated because of break but not due to fail in condition")

کدی اجرا ائتسه‌نیز، بیرینجی حلقه سونوندا else ایچینده یازیلان کدلارین اجرا اولونماسینی و ایکینجی حلقه‌نین سونوندا else ایچینده یازیلان کدلارین اجرا اولماماسینی گؤره‌بیلرسینیز. ایکینجی حلقه break ایله دایاندیریلیر، اونون اوچون ده else ایچی اجرا اولماییر.