شرطي که بیان په Python کې. نحو، نور/ایلیف بلاکونه، مثالونه

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

نن موږ به د if بیان په اړه وغږیږو، کوم چې اوسنی وضعیت د یو ځانګړي حالت لپاره ګوري، او د دې معلوماتو پر بنسټ د نورو کړنو په اړه پریکړې کوي.

د کنټرول بیانونو ډولونه

په عموم کې، که یوازینی بیان نه وي چې د پروګرام جریان کنټرولوي. همدارنګه هغه پخپله د چلونکو د لوی سلسلې برخه کیدی شي.

داسې لوپونه او بیانات هم شتون لري چې د هغې د اجرا کولو پروسه کنټرولوي. نن ورځ موږ به یوازې د مشروط آپریټر او زنځیرونو په اړه وغږیږو چې پکې برخه اخیستل کیدی شي.

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

  1. د یو ټاکلي ارزښت سره د متغیر مساوات.
  2. د یو ځانګړي عمل ترسره کول.
  3. د غوښتنلیک حالت (نړیدلی یا نه).

طیف کیدای شي ډیر لوی وي. مشروط بیانونه په څو ډولونو کې راځي:

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

که بیان

د if بیان جوړښت په ټولو ژبو کې ورته دی. په هرصورت، په Python کې، د دې ترکیب د نورو ټولو څخه یو څه توپیر لري:

که حالت:

    <входящее выражение 1>

    <входящее выражение 2>

<не входящее выражение>

لومړی، آپریټر پخپله اعالن کیږي، وروسته له هغه چې هغه حالت چې لاندې یې کار پیل کوي لیکل کیږي. حالت کیدای شي ریښتیا یا غلط وي.

دا د امرونو سره د بلاک لخوا تعقیب کیږي. که دا سمدلاسه د پوره کیدو لپاره معیار تعقیب کړي ، نو د حکمونو ورته ترتیب د if بلاک په نوم یادیږي. تاسو کولی شئ پدې کې هر ډول کمانډونه وکاروئ.

پاملرنه! د ټولو دننه انډیټیشن که د بلاک کمانډونه باید ورته اندازه وي. د بلاک سرحدونه د شاخصونو لخوا ټاکل کیږي. 

د ژبې د اسنادو له مخې، نښه 4 ځایونه دي. 

دا آپریټر څنګه کار کوي؟ کله چې ترجمان د if کلمه وګوري، نو سمدلاسه د کارونکي لخوا ټاکل شوي معیارونو سره سم بیان معاینه کوي. که دا قضیه وي، نو هغه د لارښوونو په لټه کې او د هغوی تعقیب پیل کوي. که نه نو، د دې بلاک ټول حکمونه پریښودل شوي.

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

دلته د کوډ ټوټه ده د مثال لپاره چې دا آپریټر څنګه کار کوي.

شمیره = int(انپټ("یو شمیر داخل کړئ:"))

که شمیره > 10

    چاپ ("شمېره له 10 څخه زیاته ده")

دا برنامه کارونکي ته د شمیر لپاره هڅوي او ګوري چې ایا دا له 10 څخه لوی دی. که داسې وي نو دا مناسب معلومات بیرته راګرځوي. د مثال په توګه، که چیرې کاروونکي 5 شمیره ته ننوځي، نو پروګرام به په ساده ډول پای ته ورسیږي، او دا دی.

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

پاملرنه! زموږ په قضیه کې ، که حالت غلط وي ، برنامه ودریږي ، ځکه چې د لارښوونې وروسته هیڅ حکم نه ورکول کیږي.

په پورته کوډ کې یوازې یوه کمانډ شتون لري. مګر د دوی ډیری نور شتون لري. یوازینۍ اړتیا د انډیټ کول دي.

اوس راځئ چې د حکمونو دا ترتیب تحلیل کړو.

شمیره = انټ (انپټ ("یو شمیره ولیکئ:"))

که شمیره > 10

    چاپ ("لومړی کرښه")

    چاپ ("دوهم کرښه")

    چاپ ("دریمه کرښه")

چاپ ("هغه کرښه چې اجرا کیږي، پرته له دې چې داخل شوي شمیره")

چاپ ("د غوښتنلیک پای")

هڅه وکړئ اټکل وکړئ چې محصول به څه وي که تاسو 2، 5، 10، 15، 50 ارزښتونه دننه کړئ.

لکه څنګه چې تاسو لیدلی شئ ، که چیرې د کارونکي لخوا درج شوي شمیر له لسو څخه ډیر وي ، نو درې کرښې تولید کیږي + یو د متن سره "هر ځل چل کړئ ..." او یو "پای" ، او که له لسو څخه کم وي ، نو یوازې یو ، سره. یو بل متن. یوازې 3,4,5 کرښې به اجرا شي که ریښتیا وي. په هرصورت، وروستۍ دوه کرښې به لیکل کیږي پرته له دې چې کوم شمیره کاروونکي مشخص کړي.

که تاسو بیانونه په مستقیم ډول په کنسول کې وکاروئ، پایله به توپیر ولري. ژباړونکی سمدلاسه د څو لاین حالت بدلوي که چیرې د تایید معیار مشخص کولو وروسته ، Enter فشار ورکړئ.

فرض کړئ چې موږ د کمانډ لاندې ترتیب لیکلی دی.

>>>

>>> n = 100

>>> که n > 10:

...

له هغې وروسته، موږ به وګورو چې >>> د ellipsis لخوا بدل شوی. دا پدې مانا ده چې د څو لاین ان پټ حالت فعال شوی. په ساده کلمو کې، که تاسو Enter فشار ورکړئ، تاسو به د لارښوونې دویم پړاو ته لیږدول کیږئ. 

او د دې بلاک څخه د وتلو لپاره، تاسو اړتیا لرئ چې بلاک ته یو بل ساختمان اضافه کړئ if.

>>>

>>> n = 100

>>> که n > 10:

… چاپ(«nv 10»)

...

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

د بیان چلونکی که-نور

دا آپریټر تاسو ته د لینک پلي کولو اجازه درکوي: که بیان د یو ځانګړي قاعدې سره سمون ولري، دا کړنې ترسره کړئ، او که نه، بیا نور. دا دی، دا تاسو ته اجازه درکوي د برنامه جریان په دوه سړکونو وویشئ. نحوي رواني دي:

که حالت:

    # که بلاک

    بیان 1

    بیان 2

    او همداسی پسی

بل:

    # بل بلاک

    بیان 3

    بیان 4

    او همداسی پسی:

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

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

دلته هغه کوډ دی چې دا دنده پلي کوي. خو دلته یوه تېروتنه ده. هڅه وکړئ اټکل وکړئ کوم یو. 

شعاع = int(input("انټر ریډیس:"))

که وړانګې>= 0:

    چاپ ("طواف = ", 2 * 3.14 * شعاع)

    چاپ ("ساحه = ", 3.14 * شعاع ** 2)

    بل:

        چاپ ("مهرباني وکړئ مثبت شمیره دننه کړئ")

د انډیټیشن بې مطابقت تېروتنه. که او بل باید د دوی پرته یا د ورته شمیر سره موقعیت ولري (په دې پورې اړه لري چې ایا دوی ځړول شوي یا نه).

راځئ چې د کارونې بله قضیه ورکړو (چیرې چې هرڅه به د آپریټر ترتیب سره سم وي) - د غوښتنلیک عنصر چې پاسورډ چیک کوي.

پاسورډ = داخل کړئ ("پاسورډ دننه کړئ:")

که پاسورډ == «sshh»:

    چاپ ("ښه راغلاست")

بل:

    چاپ ("لاسرسی رد شوی")

دا لارښوونه هغه شخص ته نور پریږدي که چیرې پټنوم sshh وي. که چیرې د لیکونو او شمیرو کوم بل ترکیب وي ، نو دا د "لاسرسی رد شوی" پیغام ښیې.

بیان-اظهار که-ایلیف-بل

یوازې که څو شرایط سم نه وي، هغه بیان چې په بلاک کې دی اجرا کیږي. بل. دا بیان داسې کار کوي.

که شرط_1:

    # که بلاک

    خبرپاڼه

    خبرپاڼه

    نور بیان

د elif شرط_2:

    # لومړی ایلیف بلاک

    خبرپاڼه

    خبرپاڼه

    نور بیان

د elif شرط_3:

    # دوهم ایلیف بلاک

    خبرپاڼه

    خبرپاڼه

    نور بیان

...

بل

    خبرپاڼه

    خبرپاڼه

    نور بیان

تاسو کولی شئ هر ډول اضافي شرایط مشخص کړئ.

ځړول شوي بیانونه

د ډیری شرایطو پلي کولو بله لاره دا ده چې په if بلاک کې اضافي حالت چیکونه داخل کړئ.

چلونکی if د بل حالت بلاک دننه

gre_score = int(input("خپل اوسني کریډیټ حد دننه کړئ"))

per_grad = int(input("خپل کریډیټ درجې دننه کړئ:"))

که per_grad> 70:

    # بهر که بلاک

        که gre_score> 150:

            # داخلي که بلاک

    چاپ ("مبارک شه، تاسو پور ترلاسه کړی")

بل:

    چاپ ("بخښنه غواړئ، تاسو د پور لپاره وړ نه یاست")

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

که دواړه ارزښتونه غلط وي، نو یو پیغام ښکاره کیږي چې کاروونکي د پور ترلاسه کولو امکان نلري. 

اوس راځئ چې دا پروګرام یو څه بیا کار وکړو.

gre_score = int(input("اوسنی حد داخل کړئ:"))

per_grad = int(input("د کریډیټ سکور داخل کړئ:"))

که per_grad> 70:

    که gre_score> 150:

        چاپ ("مبارک شه، تاسو پور ترلاسه کړی")

    بل:

        چاپ ("ستاسو د کریډیټ حد ټیټ دی")

بل:

    چاپ ("بخښنه غواړئ، تاسو د کریډیټ لپاره وړ نه یاست")

کوډ پخپله خورا ورته دی، مګر ځړول شوی if یو الګوریتم هم چمتو کوي که چیرې حالت له دې څخه غلط شي. دا دی، په کارت کې حد کافي نه دی، مګر د کریډیټ تاریخ ښه دی، پیغام "تاسو ټیټ کریډیټ درجه لرئ" ښودل کیږي.

if-else بیان په یو حالت کې بل

راځئ چې یو بل پروګرام جوړ کړو چې د ازموینې نمرو پر بنسټ د زده کونکي درجه ټاکي.

سکور = انټ(انپټ("خپل نمرې دننه کړئ:"))

که نمرې>= ۹۰:

    چاپ ("غوره! ستاسو درجه A ده")

بل:

    که نمرې>= ۹۰:

چاپ ("غوره! ستاسو درجه B ده")

    بل:

که نمرې>= ۹۰:

    چاپ ("ښه! ستاسو درجه C ده")

بل:

    که نمرې>= ۹۰:

چاپ ("ستاسو درجه D ده. دا د موادو د تکرار ارزښت لري.")

    بل:

چاپ ("تاسو په ازموینه کې ناکام شوي")

غوښتنلیک لومړی دا ګوري چې ایا نمرې له 90 څخه لوی یا مساوي دي. که هو، نو دا د A درجه بیرته راولي. که دا حالت غلط وي، نو بیا وروسته معاینات ترسره کیږي. موږ ګورو چې الګوریتم په لومړي نظر کې نږدې ورته دی. نو د دې پرځای چې دننه وګوري بل دا غوره ده چې یو ترکیب وکاروئ که-ایلیف-بل.

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

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