1. 1. ЕНГІЗУ - ШЫҒАРУ
  2. 2. Шартты операторлар
    1. 1. Шартты инструкциялар синтаксисі
    2. 2. Кірістірілген шартты операторлар
    3. 3. Салыстыру операторлары
    4. 4. bool деректер типі
    5. 4.1. Логикалық операторлар
    6. 5. Каскадты шартты инструкциялар

      Есептер

    1. Екі санның ең азы
    2. Сан белгісі
    3. Шахмат тақтасы
    4. Кібісе жылы
    5. Ең аз үш сан
    6. Қанша сан сәйкес келеді
    7. Тұраның(Ладья) жүрісі
    8. Патшаның қозғалысы
    9. Пілдің қозғалысы
    10. Ферзь
    11. Жылқы жүрісі
    12. Шоколад
    13. Яша бассейнде жүзеді
  3. 3. Есептеулер
  4. 4. Цикл for
  5. 5. Мәтіндер
  6. 6. Цикл while
  7. 7. Тізімдер немесе Массивтер
  8. 8. Функция және рекурсия
  9. 9. Екі өлшемді массивтер
  10. 10. Жиындар
  11. 11. Сөздіктер

Шарттар(Шартты операторлар)

1. Шартты инструкциялар синтаксисі

Бұрын қарастырылған бағдарламалардың барлығы сызықтық құрылымға ие болды: барлық командалар бірінен соң бірі ретімен орындалды, әрбір жазбаша нұсқау орындалуы керек.

Мысалы біз берілген x санынан оның абсолюттік мәнін (модульін) анықтағымыз келеді делік. Бағдарлама x>0 болса, x айнымалысының мәнін немесе басқа жағдайда -x мәнін басып шығаруы керек. Мынадай жағдайда, программаның сызықтық құрылымы бұзылған болып табылады: х>0 шартының орындалуына байланысты осы немесе басқа мән шығарылуы керек. Python бағдарламасының сәйкес фрагменті төменде көрсетілгендей жазылады:

Бұл бағдарлама шартты if операторын пайдаланады. if сөзінен кейін қос нүктемен аяқталатын тексерілетін шарт (x > 0) көрсетіледі. Осыдан кейін шарт ақиқат болса орындалатын нұсқаулар блогы (тізбегі) келеді, біздің мысалда бұл x мәнін көрсетеді. Содан кейін else сөзі (әйтпесе), қос нүктемен аяқталады және тексерілетін шарт жалған болса орындалатын нұсқаулар блогы келеді, бұл жағдайда -x мәні басып шығарылады.

Сонымен, Python тіліндегі шартты инструкция келесі синтаксиске ие:

        егер Шарт:
            Инструкциялық блок 1
        басқа:
            Инструкциялық блок 2
        

Шарт ақиқат болса, Инструкциялық блок 1 орындалады. Шарт қате болса, Инструкциялық блок 2 орындалады.

Шартты инструкцияда else сөзі және одан кейінгі блок болмауы мүмкін. Бұл нұсқау толық емес тармақталу деп аталады. Мысалы, егер x саны берілсе және біз оны x-тің абсолютті мәнімен ауыстырғымыз келсе, онда мұны келесідей орындауға болады:

Бұл мысалда x айнымалысына -x мәні меншіктеледі(тағайындалады), бірақ тек x<0 болса ғана. Бірақ print(x) инструкциясы тексерілетін жағдайға қарамастан әрқашан орындалады.

Python if немесе else операторына қатысты инструкциялар блогын бөлектеу үшін шегіністерді(табуляция) пайдаланады. Бір блокқа жататын барлық инструкциялардың шегініс көлемі бірдей болуы керек, яғни жолдың басындағы бос орындар саны бірдей. 4 бос орын шегінісін(табуляция) пайдалану ұсынылады немесе шегініс ретінде табуляция таңбасын пайдалануға болады.

Бұл Python синтаксисі мен көптеген тілдердің синтаксисі арасындағы маңызды айырмашылықтардың бірі, онда блоктар арнайы сөздермен бөлінеді, мысалы, Кумир тіліндегі нц... кц, begin... end Паскаль тілінде немесе C тіліндегі фигуралы жақшалар.

2. Кірістірілген шартты операторлар

Шартты инструкциялардың ішінде кез келген Python тіліндегі инструкцияды, соның ішінде шартты инструкцияды пайдалануға болады. Біз кірістірілген тармақты аламыз - бір айыру жолынан кейін бағдарламаны орындау кезінде басқа айыру жолы пайда болады. Бұл жағдайда кірістірілген блоктар үлкенірек шегініс өлшеміне ие (мысалы, 8 бос орын). Мұны нөлдік емес х және у сандары берілген, (х,у) нүктесі координаталық жазықтықтың қай ширегінде орналасқанын анықтайтын программаның мысалы арқылы көрсетейік:

Бұл мысалда біз түсініктемелерді(комментариилерді) қолдандық - интерпретатор елемейтін мәтін. Python тіліндегі түсініктемелер(комментариилер) - # таңбасы және жолдың соңына дейін осы таңбадан кейінгі барлық мәтін.

3. Салыстыру операторлары

Әдетте, келесі салыстыру операторларының бірінің нәтижесі тексерілетін шарт ретінде пайдаланылады:

< Кіші – бірінші операнд екіншіден аз болса, шарт дұрыс болады.

> Үлкен – шарт бірінші операнд екіншісінен үлкен болса, дұрыс болады.

<=Аз немесе тең.

>= Үлкен немесе тең.

== Теңдік. Шарт дұрыс, егер екі операнд тең болса.

!= Тең емес. Шарт дұрыс, егер екі операнд тең емес болса.


Мысалы, (x * x < 1000) шарты «x * x мәні 1000-нан аз» дегенді білдіреді,

ал (2 * x != y) шарты «x-тің екі есе мәні y мәніне тең емес» дегенді білдіреді.

Python тіліндегі салыстыру операторларын тізбектерге біріктіруге болады (басқа бағдарламалау тілдерінің көпшілігінен айырмашылығы, бұл үшін логикалық қосылғыштарды пайдалану қажет), мысалы, a == b == c немесе 1 <= x <= 10.

4. bool деректер типі

Салыстыру операторлары арнайы логикалық bool типтегі мәндерін қайтарады. Логикалық мәндер екі мәннің бірін қабылдай алады: True немесе False. Логикалық ақиқат мәнін int мәніне түрлендіру 1-ге, ал False мәніне түрлендіру 0-ге әкеледі. Кері түрлендіру 0 санын False мәніне және кез келген нөлдік емес санды True мәніне түрлендіреді. str параметрін bool түріне түрлендіру кезінде бос жол False мәніне және кез келген бос емес жол True мәніне түрлендіріледі.

4.1. Логикалық операторлар

Кейде бір емес, бірнеше шартты бір уақытта тексеру керек. Мысалы, берілген санның жұп (n % 2 == 0) шартын қолданатынын тексеруге болады (2-ге бөлінген n қалдығы 0) және берілген екі n және m бүтін сандарының жұп екенін тексеру қажет болса. , екі шарттың дұрыстығын тексеру керек: n % 2 == 0 және m % 2 == 0, олар үшін және and операторы арқылы біріктіру керек (логикалық ЖӘНЕ): n % 2 == 0 және m % 2 == 0.

Python тілінде стандартты логикалық операторлар бар: логикалық ЖӘНЕ, логикалық НЕМЕСЕ, логикалық терістеу.

Логикалық ЖӘНЕ – екілік оператор (яғни екі операндты оператор: сол және оң жақ) және және пішіні бар. and операторы True мәнін қайтарады, егер оның операндтарының екеуі де True болса ғана.

Логикалық НЕМЕСЕ екілік оператор болып табылады және кем дегенде бір операнд True болғанда ғана True мәнін қайтарады. «Логикалық НЕМЕСЕ» операторында немесе пішіні бар.

Логикалық ЕМЕС (терістеу) біртұтас (яғни бір операндты) оператор болып табылады және бір операндтан кейін жоқ пішінге ие. Логикалық ЕМЕС, егер операнд False болса және керісінше болса, True мәнін қайтарады.

Мысал. a немесе b сандарының кем дегенде біреуі 0-мен аяқталатынын тексерейік:

а саны оң, b теріс емес екенін тексерейік:

        if a > 0 and not (b < 0):
    

Немесе not (b < 0) орнына (b >= 0) жазуға болады.

5. Каскадты шартты инструкциялар

Координаталық жазықтықтың төрттен бір бөлігін анықтайтын мысал бағдарламаны if... elif... else операциясы бар «каскад» тізбегі арқылы қайта жазуға болады:

Бұл конструкцияда if, ..., elif шарттары бір-бірден тексеріліп, бірінші ақиқат шартқа сәйкес блок орындалады. Тексерілетін барлық шарттар жалған болса, else блогы орындалады.