Операторҳои шартӣ (if, elif, else) дар Python

Дарси 3
Нақша:
1. Ворид кардан ва чоп кардани маълумот.
2. Операторҳои шартӣ чи мебошанд ва чаро онҳо лозиманд.
3. Конструксияҳои асосии if, elif, ва else.
4. Эҷоди операторҳо шарти дар Python.
Ворид кардан ва чоп кардани маълумот:
Вуруд кардан ва чо кардани маълумот як қисми муҳими барномасозӣ мебошад, зеро он ба корбарон имкор медиҳад ки дилхоҳ маълумотро коркард кунанд. Дар Python, асосҳои ворид кардан ва дар экран чоп кардани маълумот бо функсияҳои input() ва print() ва инчунин форматкунии сатрро дар бар мегиранд.
Вуруди маълумот:
Функсияи input() барои қабули маълумот аз корбар истифода мешавад. Он маълумоти воридшударо ҳамчун сатр мехонад. Мисол:
Тағйир додани навъи маълумот:
Аксар вақт ба шумо лозим аст, ки маълумотро ба намуди дилхоҳ табдил диҳед. Масалан, агар шумо хоҳед, ки дар рақами воридшуда амалҳои математикиро иҷро кунед, шумо бояд сатрро ба рақам табдил диҳед:
Ин код маълумотро аз корбар ҳамчун сатр гирифта, ба адади бутун табдил медиҳад ва сипас онро ба 2 зарб мекунад.
Операторҳои шартӣ чи мебошанд ва чаро онҳо лозиманд?
Операторҳои шартӣ дар барномасозӣ нақши асосиро мебозанд, зеро онҳо имкон медиҳанд, ки барнома дар асоси шартҳои муайян қарор қабул кунад. Вақте ки барнома бояд амалҳои гуногунро вобаста ба дурустӣ ё набудани шарти муайян иҷро кунад, операторҳои шартӣ қисми ҷудонашавандаи код мешаванд.
Вазифаҳои асосие, ки операторони шартӣ ҳал мекунанд:
1. Интихоби амал: Операторҳои шартӣ ба барнома имкон медиҳанд, ки кадом блоки кодро вобаста ба дуруст будани шарт интихоб кунад. Масалан, агар корбар калонсолон бошад, ба ӯ дастрасӣ ба захираҳои муайянро диҳед.
2. Ҷараёни иҷрошавии кодро назорат кунед: Ифодаҳои `if`, `elif` ва `else` барои назорат кардани ҷараёни иҷрои барнома кӯмак мекунанд. Онҳо муайян мекунанд, ки кадом қисмҳои код ва бо кадом тартиб иҷро мешаванд.
3. Идораи барнома: Операторҳои шартӣ имкон медиҳад, ки барнома ба сенарияҳои гуногун мутобиқ шавад. Масалан, агар корбар арзишҳои гуногунро ворид кунад, барнома метавонад мувофиқи он ҷавоб диҳад.
4. Санҷиш дар барнома: Операторҳои шартӣ метавонанд барои санҷиши тағирёбандаҳо ё арзишҳо бар зидди меъёрҳои муайян истифода шаванд. Ин ба барнома имкон медиҳад, ки дар асоси маълумоти ҷорӣ қарор қабул кунад.
Намунаи истифодаи Операторҳои шартӣ:
Дар ин мисол, барнома барнома ба мо мефаҳмонад ки боду ҳаво чӣ тавр ҳаст ва барои сайру гашт мувофиқ ҳаст ё не. Операторҳои шартӣ кодро месанҷанд ва дар натифа ба мо маълумоти мувофиқро пешниҳод мекунанд.
Оператори if
Оператори if унсури асосии оператори шартӣ дар Python мебошад. Он имкон медиҳад, ки блоки код танҳо дар сурати дуруст будани шарти муайян иҷро карда шавад. Инҳоянд унсурҳои асосии оператори 'if':
Кори оператори if:
1. Санҷиши шартӣ: Ифоде, ки пас аз if нишон дода шудааст, ба арзиши мантиқӣ (ҳақиқӣ ё бардурӯғ) арзёбӣ мешавад. Агар ин дуруст бошад, пас блоки код дар дохили if иҷро мешавад дар акси ҳол, он гузаронида мешавад ва кодҳои баъди иҷро мешаванд.
2. Синтаксиси блоки код: Блоки код, ки бояд иҷро шавад, агар шарт дуруст бошад, бояд яке аз сатрҳои оператори if иҷро карда шаванд. Мисол:
Дар ин мисол, агар арзиши тағирёбандаи "age" аз 18 зиёд ё баробар бошад, он гоҳ ду сатри дохили блоки if иҷро карда мешаванд.

Операторҳои дохилии оператори if
Дар дохили оператори if боp дигар операторҳоро истифода бурдан мумкин аст аз ҷумла худи if. Ин вақте истифода мешавад, ки шумо бояд якчанд шартҳоро пай дар пай санҷед. Мисол:
Дар ин мисол, он барнома аввал месанҷад, ки шумораи а мусбат аст ё не. Агар ин тавр бошад, пас он тафтиш карда мешавад, ки оё он баробар аст.
Оператори if блоки асосии барнома барои эҷоди шартҳои мураккабтар бо истифода аз elif ва else мебошад.
Оператори elif
Оператори elif дар Python барои илова кардани шартҳои иловагӣ ба сохтори if истифода мешавад. Оператори elif шакли кутоҳи else if аст ва ба шумо имкон медиҳад, ки ҳолати навро санҷед, агар шарти қаблӣ нодуруст бошад. Мисол:
Намунаи истифодаи оператори elif:
Барномаеро месозем, ки баҳои донишҷӯро тафтиш мекунад ва паёми мувофиқро нишон медиҳад:
Дар ин мисол:
- Агар хол аз 90 зиёд ё баробар бошад, «Аъло!» нишон дода мешавад.
- Агар хол аз 80 то 89 бошад, "Хуб." нишон дода мешавад.
- Агар хол аз 70 то 79 бошад, "Қаноатбахш." нишон дода мешавад.
- Агар хол аз 0 то 69 бошад "Ғайриқаноатбахш." нишон дода мешавад.
Нуқтаҳои муҳим:
1. elif танҳо дар сурати нодуруст будани шартҳои қаблӣ санҷида мешавад. Агар ягон шарти if ё elif дуруст бошад, elif ва else боқимонда гузаронида мешаванд. Яъне барнома онҳоро намехонад
2. Барои санҷидани якчанд шартҳо блокҳои сершумори elif вуҷуд доранд. Онҳо аз боло ба поён пайдарпай тафтиш карда мешаванд ва блоке, ки шарташ аввал дуруст аст, иҷро карда мешавад.
Оператори elif имкон медиҳад, ки шохаҳои мураккабтари барномаро тавассути имкони санҷиши якчанд шартҳо ва иҷро кардани блоки мувофиқи код фароҳам оранд.
Вазифаи хонагӣ:
Вазифаи 1: Ҳисобкунаки вазн
Барномаи ҳисобкунаки вазнро нависед, ки аз корбар вазнашро мепурсад ва вобаста аз ҳамон вазн паёми мувофиқро нишон медиҳад. Категорияҳои зеринро истифода баред:
- Камтар аз 50 кг: "вазни кам"
- 50-70 кг: "Вазни муқаррарӣ"
- 70-90 кг: "Вазни зиёдатӣ"
- Зиёда аз 90 кг: "Фарбеҳӣ"


Вазифаи 2: Арзёбии донишҷӯён
Барномае нависед, ки аз корбар баҳои донишҷӯро мепурсад ва вобаста аз баҳои воридгардида паёми мувофиқро нишон медиҳад. Категорияҳои зеринро истифода баред:
90 -100 - «Аъло!».
80 - 89 - «Хуб».
70 - 79 - «Каноатбахш».
Камтар аз 70: «Қаноатбахш».


Вазифаи 3: Мавсим
Барномае нависед, ки аз корбар моҳро мепурсад (ҳамчун рақам) ва мавсими ҷорӣро чоп мекунад. Категорияҳои зеринро истифода баред:
1 – 2, 12 «Зимистон».
3 – 5 - «Бахор».
6 – 8 - «Тобистон».
9 – 11 «Тирамох».


Дар ҳар як вазифа операторҳои шартиро барои муайян кардани ҷавоб ё шарҳ ба маълумоти воридшуда истифода баред