پداسې حال کې چې په پایتون کې لوپ کړئ. دا څنګه کار کوي، د کارولو مثالونه

لوپونه د هرې ژبې یو له اصلي وسیلو څخه دی. په Python کې دوه بنسټیز لوپونه شتون لري، چې یو یې پداسې حال کې دی. په پام کې ونیسئ، او همدارنګه د انځور د ښه پوهیدو لپاره، یو بل. په حقیقت کې، د ورته شی په پرتله، د هر موادو پوهیدل خورا اسانه دي، نه دا؟

د سایکل مفهوم

یو لوپ ته اړتیا ده کله چې یو ټاکلی عمل څو ځله ترسره کولو ته اړتیا ولري. دا خورا ساده دی، ځکه چې په حقیقت کې د سایکل لپاره د غوښتنلیکونو لړۍ خورا پراخه ده. په پایتون کې د لوپ دوه اصلي ډولونه شتون لري: لپاره او پداسې حال کې. ترټولو مشهور د دې لپاره دی.

د ځانګړو کړنو سربیره، تاسو کولی شئ د کوډ مختلفې برخې تر یو ټاکلي نقطې پورې لوپ کړئ. دا کیدای شي یو ټاکلی شمیر وي، یا تر هغه چې یو ځانګړی حالت سم وي.

مخکې لدې چې موږ د لوپونو ډولونو پوهه پیل کړو او پداسې حال کې چې په ځانګړي توګه ، موږ لاهم اړتیا لرو پوه شو چې تکرار څه شی دی. دا د اوسني غوښتنلیک په جریان کې د اوسني دورې په جریان کې د عمل یا عملونو ترتیب تکرار دی.

لپاره سایکل

زموږ لپاره لوپ کاونټر نه دی، لکه څنګه چې په ډیرو نورو ژبو کې. د دې دنده د ارزښتونو یو ټاکلی ترتیب شمیرل دي. دا څه مانا لري؟ راځئ چې ووایو موږ د عناصرو لیست لرو. لومړی، لوپ لومړی، دویم، دریم، او داسې نور اخلي.

په پایتون کې د دې لوپ ګټه دا ده چې تاسو اړتیا نلرئ د عنصر شاخص وټاکئ ترڅو پوه شئ چې کله له لوپ څخه وځي. هر څه به په اتوماتيک ډول ترسره شي.

>>> سپیسوک = [10، 40، 20، 30]

>>> په سپیسوک کې د عنصر لپاره:

… چاپ (عنصر + 2)

...

12

42

22

32

زموږ په مثال کې، موږ متغیر کارولی عنصر د قوماندې لپاره وروسته. په عموم کې، نوم هر څه کیدی شي. د مثال په توګه، یو مشهور نوم دی i. او د هر تکرار سره، دا متغیر به د لیست څخه یو ځانګړی اعتراض وټاکل شي، کوم چې موږ مناسبه کلمه وایو.

زموږ په قضیه کې، لیست د 10,40,20,30 شمیرو ترتیب دی. په هر تکرار کې، ورته ارزښت په متغیر کې ښکاري. د مثال په توګه، څومره ژر چې لوپ پیل شي، متغیر عنصر ارزښت 10 ټاکل شوی. په بل تکرار کې، لس په 40 شمیره بدلیږي، دریم ځل په 20 شمیره بدلیږي، او په پای کې، د لوپ په وروستي تکرار کې، دا په 30 بدلیږي.

د دورې پای لپاره سیګنال په لیست کې د عناصرو پای دی.

که تاسو د ارزښتونو د کلاسیک شمیرنې ترسره کولو لپاره لوپ ته اړتیا لرئ، لکه د نورو پروګرامینګ ژبو په څیر، تاسو باید د طبیعي شمیرو ترتیب سره یو لیست جوړ کړئ تر هغه ارزښت پورې چې موږ ورته اړتیا لرو.

>>> سپیسوک = [1,2,3,4,5]

یا فنکشن وکاروئ len() د لیست اوږدوالی معلومولو لپاره. مګر پدې حالت کې دا غوره ده چې لوپ وکاروئ په داسې حال کې ځکه چې د متغیر کارولو ته اړتیا نشته.

که تاسو اړتیا لرئ په لیست کې د ارزښتونو ترتیب بدل کړئ، لوپ کړئ لپاره او دلته د ژغورنې لپاره راځي. د دې کولو لپاره، په هر تکرار کې، د لیست هر عنصر باید یو مناسب ارزښت وټاکل شي.

پداسې حال کې چې لوپ

د سایکل برعکس لپاره، کوم چې په ساده ډول د ترتیب ارزښتونو باندې تکرار کوي ، لوپ په داسې حال کې ډیر کارونې لري. د دې ډول سایکل نوم د "تر اوسه" په توګه ژباړل شوی. يعنې تر "تره پورې".

دا یو نړیوال لوپ دی چې په ټولو پروګرامینګ ژبو کې موندل کیږي. او په ځینو لارو کې دا د مشروط آپریټر سره ورته وي یو کوم چې یو چک ترسره کوي ترڅو وګوري چې ایا یو ټاکلی شرط پوره شوی. یوازې د مشروط آپریټر برعکس، په داسې حال کې په هر تکرار کې چک ترسره کوي، نه یوازې یو ځل. او یوازې که حالت غلط وي، لوپ پای ته رسیږي او هغه قومانده چې تعقیبوي یې اجرا کیږي. په ساده الفاظو، که په هغه حالت کې چې هغه کار کوي، د اعتبار وړ نه ده.

که موږ یو سایکل رسم کړو په داسې حال کې په ساده ډول، دا د داسې سکیم په کارولو سره ترسره کیږي.پداسې حال کې چې په پایتون کې لوپ کړئ. دا څنګه کار کوي، د کارولو مثالونه

د برنامه اصلي څانګه (کوم چې د لوپ څخه بهر تیریږي) پدې شکل کې د نیلي مستطیلونو سره ښودل شوي. فیروزي د دورې د بدن استازیتوب کوي. په بدل کې، رومبس یو حالت دی چې په هر تکرار کې چک کیږي.

سایټ په داسې حال کې کیدای شي دوه استثناوې رامنځته شي:

  1. که د لوپ په پیل کې منطقي بیان ریښتیا نه راځي، نو دا په ساده ډول نه پیل کیږي، د اجرا کولو دمخه بشپړ شوی. په عموم کې، دا وضعیت نورمال دی، ځکه چې په ځینو حاالتو کې، غوښتنلیک ممکن د لوپ بدن کې د څرګندونو شتون چمتو نکړي.
  2. که بیان تل ریښتیا وي، دا کولی شي د لوپ لامل شي. دا د دورې نه ختمیدونکي سکرول کولو ته. له همدې امله، په داسې پروګرامونو کې باید تل د لوپ یا پروګرام څخه د وتلو بیان وي. په هرصورت، دا وضعیت به رامینځته شي که چیرې برنامه وکولی شي د یو ځانګړي حالت حقیقت یا دروغ معلوم کړي. که هغه دا کار ونه کړي، نو بیا د پروګرام پای ته رسیدو سره یوه تېروتنه بیرته راستانه کیږي. یا تاسو کولی شئ تېروتنه اداره کړئ، او بیا، که دا پیښ شي، یو ځانګړی کوډ به اجرا شي.

د خطا اداره کولو څرنګوالي لپاره ډیری اختیارونه شتون لري. د مثال په توګه، برنامه ممکن د کارونکي څخه وغواړي چې ډاټا په سمه توګه دننه کړي. نو، که یو څوک یو منفي شمیره په ګوته کړي چیرې چې دا یوازې مثبت وي، یا لیکونه داخل کړي چیرې چې یوازې شمیرې باید وي، برنامه کولی شي د هغې په اړه ووایی.

پداسې حال کې چې لوپ مثالونه

دلته د کوډ یوه بیلګه ده چې پدې قضیه کې غلطي اداره کوي.

n = داخل کړئ("یو عدد داخل کړئ:") 

په داسې حال کې چې ټایپ(n)!= int:

    هڅه وکړئ:

        n = int(n)

    د ویلو ایریر پرته:

        چاپ ("غلط داخله!")

        n = داخل کړئ("یو عدد داخل کړئ:") 

که n % 2 == 0:

    چاپ ("حتی")

بل:

    چاپ ("عجیب")

په یاد ولرئ چې Python د پیچلي کوډ جوړښتونو اعلانولو لپاره کولون کاروي.

په پورته کوډ کې، موږ د یو شرط په توګه تعریف کړی چې موږ باید وګورو چې آیا شمیره یو عدد دی. که هو، نو دروغ بیرته راستانه کیږي. که نه، نو ریښتیا.

د کوډ په دویمه برخه کې، چیرې چې آپریټر کارول کیږي if، موږ د ویش عملیاتو وروسته پاتې د موندلو لپاره٪ آپریټر وکاروو. بل ګام دا دی چې وګوري چې ایا شمیره مساوي ده. که نه، نو پاتې په دې قضیه کې یو دی. په دې اساس، شمیره عجیبه ده. 

په ساده اصطلاحاتو کې، پورته کوډ لومړی ګوري چې ایا د کارونکي لخوا داخل شوی تار یو شمیر دی. که هو، نو بیا دوهم چک ترسره کیږي ترڅو وګوري چې ایا د دوه لخوا ویش پاتې دی. مګر دوهم بلاک به تر هغه پورې اجرا نشي تر څو چې د کارونکي لخوا داخل شوی ارزښت عددي نه وي.

دا دی، لوپ به په منظمه توګه اجرا شي تر هغه چې حالت واقع شي. په دې حالت کې، دا د دې په څیر کار کوي. 

دا دی، تاسو کولی شئ د برعکس څخه لاړ شئ: یو مشخص عمل لوپ کړئ تر هغه چې پیښه غلطه شي.

کوډ تجزیه کول

اوس راځئ چې په تفصیل سره وګورو چې دا کوډ څنګه کار کوي. د دې کولو لپاره، موږ به دا ګام په ګام تحلیل کړو.

  1. لومړی، کاروونکي یو تار ته ننوځي، کوم چې د متغیر n لخوا منل شوی. 
  2. د لوپ په کارولو سره په داسې حال کې د دې متغیر ډول چک شوی. په لومړي ننوتلو کې، دا مساوي ندي اینټ. له همدې امله، د ازموینې په پایله کې، معلومه شوه چې دا حالت ریښتیا دی. له همدې امله، د لوپ بدن ته ننوځي.
  3. د یو آپریټر په مرسته هڅه موږ هڅه کوو چې تار په شمیره بدل کړو. که دا ترسره شي، نو کومه تېروتنه نه واقع کیږي. په دې اساس، د دې پروسس کولو ته اړتیا نشته. له همدې امله، ژباړونکی د لوپ پیل ته راستنیږي، او د چک پایلو سره سم، دا معلومه شوه چې دا یو بشپړ شوی. نو راځئ چې 7 ګام ته لاړ شو
  4. که تبادله ناکامه وه، نو بیا د ValueError اچول کیږي. په دې حالت کې، د پروګرام جریان پرته د هینډلر ته لیږل کیږي.
  5. کارن یو نوی ارزښت داخلوي، کوم چې متغیر n ته ټاکل شوی.
  6. ژباړونکی بیرته 2 مرحلې ته راځي او بیا ګوري. که دا د انټیجر ارزښت وي، نو 7 مرحلې ته لاړ شئ. که نه، د 3 مرحلې سره سم د تبادلې هڅه کیږي.
  7. د یو آپریټر په مرسته if دا معلوموي چې آیا د 2 لخوا د یوې شمیرې ویشلو وروسته پاتې پاتې دي. 
  8. که نه، متن "حتی" بیرته راستانه شوی.
  9. که نه، متن "عجیب" بیرته راستانه شوی.

اوس داسې یو مثال په پام کې ونیسئ. هڅه وکړئ دا معلومه کړئ چې دا دوره به څو ځله تیریږي؟

ټول = 100 

i = 0

پداسې حال کې چې زه <5:

    n = int(input())

    ټول = ټول - n

    i = i + 1 

چاپ ("پاتې"، ټول)

سم ځواب 5 دی. په پیل کې، د متغیر ارزښت i - صفر. ژباړونکی ګوري چې ایا متغیر مساوي دی i 4 یا لږ. که هو، نو بیا ارزښت بیرته راځي. رښتيا، او لوپ د دې مطابق اجرا کیږي. ارزښت یو له بل سره لوړیږي.

د لومړي تکرار څخه وروسته، د متغیر ارزښت 1 کیږي. یو چک ترسره کیږي، او برنامه پوهیږي چې دا شمیره بیا له 5 څخه کمه ده. په دې اساس، لوپ باډي د دویم ځل لپاره اجرا کیږي. څرنګه چې مرحلې ورته دي، ارزښت هم د یو لخوا زیات شوی، او متغیر اوس د 2 سره مساوي دی.

دا ارزښت هم له پنځو څخه کم دی. بیا لوپ دریم ځل اجرا کیږي، په متغیر کې اضافه شوی i 1 او دا د 3 ارزښت ټاکل شوی. دا بیا له پنځو څخه کم دی. او نو دا د لوپ شپږم تکرار ته راځي، په کوم کې چې د متغیر ارزښت i مساوي 5 (وروسته له دې، دا په اصل کې صفر و، تر هغه چې موږ یادونه کوو). په دې اساس، دا حالت ازموینه نه پاس کوي، او لوپ په اوتومات ډول پای ته رسیږي او راتلونکي مرحلې ته لیږد، کوم چې د هغې څخه بهر دی (یا د برنامه ختمول، که لاندې مرحلې نه وي چمتو شوي) ترسره کیږي.

دوره هم په مخالف لوري کې واقع کیدی شي. دلته د کوډ یوه بیلګه ده چیرې چې د هر راتلونکي تکرار سره، یو د متغیر اوسني ارزښت څخه کم شوی. 

ټول = 100 

پداسې حال کې چې ټول > 0:

    n = int(input())

    ټول = ټول - n 

چاپ ("سرچینې ختمې شوې")

هڅه وکړئ اټکل وکړئ چې دا برنامه څه کوي! تصور وکړئ چې په یو متغیر کې ټول د پروګرام سرچینې په اړه معلومات ساتل کیږي. هرکله چې ژباړونکی وګوري چې سرچینه شتون لري که نه. که نه، نو بیا متن "سرچینه ختمه شوې" ښودل کیږي او برنامه بندیږي. او د لوپ د هر تکرار سره، سرچینه د هغه شمیر لخوا کمیږي چې کاروونکي یې مشخصوي.

او اوس د کور کار. د پورته کوډ بدلولو هڅه وکړئ ترڅو متغیر په فزیکي توګه منفي نشي. 

4 ها

  1. si code ahaan usoo gudbi

  2. سلام

  3. لول

یو ځواب ورکړئ ووځي