Главная страница
Навигация по странице:

  • Lower ()

  • Шартты if құрылысы

  • Кірістірілген if конструкциялары

  • Циклдар Циклдар белгілі бір шарттың сақталуына байланысты кейбір әрекеттерді қайталауға мүмкіндік береді.While циклі

  • ГЛАВА 2, 3, 4, 5. 2 тарау. Python Негіздері Бадарламаларды жазуа кіріспе


    Скачать 242.51 Kb.
    Название2 тарау. Python Негіздері Бадарламаларды жазуа кіріспе
    Дата07.02.2022
    Размер242.51 Kb.
    Формат файлаdocx
    Имя файлаГЛАВА 2, 3, 4, 5.docx
    ТипДокументы
    #354527
    страница2 из 10
    1   2   3   4   5   6   7   8   9   10

    Шартты өрнектер

    Бірқатар операциялар шартты өрнектерді білдіреді. Барлық осы операциялар екі операндты қабылдайды және Python-да boolean түрін білдіретін логикалық мәнді қайтарады. Тек екі логикалық мән бар - True (өрнек шын) және False (өрнек жалған).

    Салыстыру операциялары

    Қарапайым шартты өрнектер екі мәнді салыстыратын салыстыру амалдарын білдіреді. Python келесі салыстыру әрекеттерін қолдайды:

    • ==

    Егер екі операнд тең болса, True қайтарады. Әйтпесе, ол жалған қайтарады.

    • !=

    Егер екі операнд тең болмаса, True қайтарады. Әйтпесе, ол жалған қайтарады.

    • >(артық)

    Егер бірінші операнд екіншісінен үлкен болса, True қайтарады.

    • < (кем)

    Егер бірінші операнд екіншісінен аз болса, True қайтарады.

    • > = (көп немесе тең)

    Егер бірінші операнд екіншісінен үлкен немесе оған тең болса, True қайтарады.

    • < = (аз немесе тең)

    Егер бірінші операнд екіншісінен кіші немесе оған тең болса, True қайтарады.

    Салыстыру амалдарының мысалдары:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    a = 5

    b = 6

    result = 5 == 6  # сохраняем результат операции в переменную

    print(result)  # False - 5 не равно 6

    print(a != b)  # True

    print(a > b)  # False - 5 меньше 6

    print(a < b)  # True

     

    bool1 = True

    bool2 = False

    print(bool1 == bool2)  # False - bool1 не равно bool2


    Салыстыру операциялары әртүрлі нысандарды - жолдарды, сандарды, логикалық мәндерді салыстыра алады, алайда операцияның екі операндасы да бірдей типті көрсетуі керек.

    Логикалық операциялар

    Күрделі шартты өрнектерді жасау үшін логикалық амалдар қолданылады. Python-да келесі логикалық операторлар бар:

    • and (логикалық көбейту)


    Егер екі өрнек те шын болса, True қайтарады

    1

    2

    3

    4

    age = 22

    weight = 58

    result = age > 21 and weight == 58

    print(result)  # True


    Бұл жағдайда and операторы Екі өрнектің нәтижелерін салыстырады: age > 21 weight == 58. Егер осы екі өрнек те True-ді қайтарса, онда and операторы да True-ді қайтарады. Сонымен қатар, салыстыру операциясы өрнектердің бірі ретінде міндетті емес: бұл басқа логикалық операция немесе шын немесе жалған сақтайтын boolean түріндегі айнымалы болуы мүмкін.

    1

    2

    3

    4

    5

    age = 22

    weight = 58

    isMarried = False

    result = age > 21 and weight == 58 and isMarried

    print(result)  # False, так как isMarried = False




    • or (логикалық қосымша)

    Егер өрнектердің кем дегенде біреуі шын болса, True қайтарады

    1

    2

    3

    4

    age = 22

    isMarried = False

    result = age > 21 or isMarried

    print(result)  # True, так как выражение age > 21 равно True




    • not (логикалық теріске шығару)

    Егер өрнек жалған болса, True қайтарады

    1

    2

    3

    4

    age = 22

    isMarried = False

    print(not age > 21)  # False

    print(not isMarried)  # True


    Егер and операторының операндтарының бірі жалған қайтарса, онда басқа операнд енді бағаланбайды, өйткені оператор кез-келген жағдайда жалған қайтарады. Мұндай мінез-құлық өнімділікті сәл арттыруға мүмкіндік береді, өйткені екінші операндты бағалауға ресурстарды жұмсаудың қажеті жоқ.

    Сол сияқты, егер or операторының операндтарының бірі True-ді қайтарса, онда екінші операнд бағаланбайды, өйткені оператор кез-келген жағдайда True-ді қайтарады.

    Жолдармен операциялар

    Жол тырнақшаға салынған Unicode кодтаудағы таңбалар тізбегін білдіреді. Python-да біз жалғыз және қос тырнақшаларды қолдана аламыз:

    1

    2

    3

    name = "Tom"

    surname = 'Smith'

    print(name, surname)  # Tom Smith


    Жолдардағы ең көп таралған операциялардың бірі-оларды біріктіру немесе байланыстыру. Жолдарды біріктіру үшін плюс белгісі қолданылады:

    1

    2

    3

    4

    name = "Tom"

    surname = 'Smith'

    fullname = name + " " + surname

    print(fullname)  # Tom Smith


    Екі жолды біріктіргенде бәрі қарапайым, бірақ жол мен санды қосу керек болса ше? Бұл жағдайда strr() функциясын қолдана отырып, санды жолға келтіру керек:

    1

    2

    3

    4

    name = "Tom"

    age = 33

    info = "Name: " + name + " Age: " + str(age)

    print(info)  # Name: Tom Age: 33


    Эскейп-реттілік

    Стандартты таңбалардан басқа, жолдар арнайы түрде түсіндірілетін эскап тізбегін басқаруды қамтуы мүмкін. Мысалы, \ n тізбегі жолдың аудармасын білдіреді. Сондықтан келесі өрнек:

    1

    print("Время пришло в гости отправится\nждет меня старинный друг")


    Консольде екі жол көрсетіледі:

    Время пришло в гости отправится

    ждет меня старинный друг
    Бұл \t реттілігіне де қатысты, ол кестені қосады.

    Сонымен қатар, жолда қолдану қиын болып көрінетін таңбалар бар. Мысалы, тырнақша. Жолдың ішінде тырнақшаларды (екі және жалғыз) көрсету үшін олардың алдына қиғаш сызық қойылады:

    1

    print("Кафе \"Central Perk\"")


    \"")

    Жолдарды салыстыру

    Жолдарды салыстыру туралы ерекше айту керек. Жолдарды салыстыру кезінде таңбалар мен олардың регистрі ескеріледі. Сонымен, сандық таңба кез-келген алфавиттік таңбадан шартты түрде аз. Жоғарғы регистрдегі алфавиттік таңба төменгі регистрдегі алфавиттік таңбаларға қарағанда шартты түрде аз. Мысалы:

    1

    2

    3

    4

    5

    str1 = "1a"

    str2 = "aa"

    str3 = "Aa"

    print(str1 > str2)  # False, так как первый символ в str1 - цифра

    print(str2 > str3)  # True, так как первый символ в str2 - в нижнем регистре


    Сондықтан "1A" жолы шартты түрде "АА"жолынан аз. Алдымен салыстыру бірінші таңбамен жүреді. Егер екі жолдың бастапқы таңбалары сандарды білдірсе, онда кіші Сан аз деп саналады, мысалы, "1A" "2A" - дан аз.

    Егер бастапқы таңбалар алфавиттік таңбаларды бір регистрде көрсетсе, онда олар Алфавит бойынша көрінеді. Сонымен, " АА "" ба "- дан аз, ал" ба ""ca" - дан аз.

    Егер бірінші таңбалар бірдей болса, екінші таңбалар олар болған кезде есептеледі.

    Регистрге тәуелділік әрдайым қажет емес, өйткені іс жүзінде біз бірдей жолдармен айналысамыз. Бұл жағдайда салыстырудан бұрын біз екі жолды да регистрлердің біріне апара аламыз.

    Lower () функциясы жолды төменгі регистрге, ал upper () функциясы жоғарғы регистрге апарады.

    1

    2

    3

    4

    5

    str1 = "Tom"

    str2 = "tom"

    print(str1 == str2)  # False - строки не равны

     

    print(str1.lower() == str2.lower())  # True


    Шартты if құрылысы

    Шартты конструкциялар шартты өрнектерді қолданады және олардың мәніне байланысты бағдарламаның орындалуын жолдардың біріне бағыттайды. Осындай құрылымдардың бірі-if дизайны. Оның келесі ресми анықтамасы бар:

    1

    2

    3

    4

    5

    6

    if логическое_выражение:

        инструкции

    [elif логическое выражение:

        инструкции]

    [else:

        инструкции]


    Қарапайым түрде, if кілт сөзінен кейін логикалық өрнек пайда болады. Егер бұл логикалық өрнек true-ді қайтарса, онда келесі нұсқаулар блогы орындалады, олардың әрқайсысы жаңа ағыннан басталып, жолдың басынан шегіністер болуы керек:

    1

    2

    3

    4

    age = 22

    if age > 21:

        print("Доступ разрешен")

    print("Завершение работы")


    Бұл жағдайда age айнымалы мәні 21-ден үлкен болғандықтан, if блогы орындалады, ал консоль келесі жолдарды шығарады:

    Доступ разрешен

    Завершение работы
    Шегіністі 4 бос орынға немесе 4-ке көбейтілген Бос орындар санына жасаған жөн.

    " Завершение работы" хабарын көрсететін соңғы ағынға назар аударыңыз. Жолдың басынан ешқандай шегініс жоқ, сондықтан ол if блогына жатпайды және кез-келген жағдайда орындалады, тіпті егер if дизайнындағы өрнек жалғандықты қайтарса да.
    Бірақ егер біз шегініс жасасақ, онда ол if дизайнына да қатысты болар еді:

    1

    2

    3

    4

    age = 22

    if age > 21:

        print("Доступ разрешен")

        print("Завершение работы")


    Егер кенеттен біз балама шешімді анықтауымыз керек болса, егер Шартты өрнек жалған болса, онда біз басқа блокты қолдана аламыз:

    1

    2

    3

    4

    5

    age = 18

    if age > 21:

        print("Доступ разрешен")

    else:

        print("Доступ запрещен")


    Егер age > 21 өрнегі шын мәнін қайтарса, онда if блогы орындалады, әйтпесе басқа блок орындалады.
    Егер сізге бірнеше балама шарттарды енгізу қажет болса, онда сіз қосымша elif блоктарын қолдана аласыз, содан кейін Нұсқаулық блогы бар.

    1

    2

    3

    4

    5

    6

    7

    age = 18

    if age >= 21:

        print("Доступ разрешен")

    elif age >= 18:

        print("Доступ частично разрешен")

    else:

        print("Доступ запрещен")


    Кірістірілген if конструкциялары

    If дизайны өз кезегінде кірістірілген if конструкцияларына ие болуы мүмкін:

    1

    2

    3

    4

    5

    6

    7

    age = 18

    if age >= 18:

        print("Больше 17")

        if age > 21:

            print("Больше 21")

        else:

            print("От 18 до 21")


    Кірістірілген if өрнектері де шегіністерден басталуы керек, ал кірістірілген конструкциялардағы нұсқаулар да шегіністерге ие болуы керек. Дұрыс орналастырылмаған шегіністер бағдарламаның логикасын өзгерте алады. Сонымен, алдыңғы мысал келесіге ұқсас емес:

    1

    2

    3

    4

    5

    6

    7

    age = 18

    if age >= 18:

        print("Больше 17")

    if age > 21:

        print("Больше 21")

    else:

        print("От 18 до 21")


    Енді біз шартты конструкцияларды қолданатын шағын бағдарламаны жазамыз. Бұл бағдарлама айырбастау пунктінің бір түрі болады:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    # Программа Обменный пункт

     

    usd = 57

    euro = 60

     

    money = int(input("Введите сумму, которую вы хотите обменять: "))

    currency = int(input("Укажите код валюты (доллары - 400, евро - 401): "))

     

    if currency == 400:

        cash = round(money / usd, 2)

        print("Валюта: доллары США")

    elif currency == 401:

        cash = round(money / euro, 2)

        print("Валюта: евро")

    else:

        cash = 0

        print("Неизвестная валюта")

     

    print("К получению:", cash)

    Input () функциясын қолдана отырып, пайдаланушы енгізген деректерді консольге аламыз. Сонымен қатар, бұл функция деректерді жол түрінде қайтарады, сондықтан енгізілген деректерді арифметикалық амалдарда қолдануға болатындай етіп int () функциясын қолдана отырып, оны бүтін санға келтіру керек.
    Бағдарлама пайдаланушы айырбасталатын қаражат мөлшерін және айырбасталатын валюта кодын енгізетінін білдіреді. Валюта кодтары жеткілікті шартты: доллар үшін 400 және евро үшін 401.
    If дизайнын қолдана отырып, біз валюта кодын тексеріп, тиісті валюта бағамына бөлеміз. Бөлу процесінде өзгермелі нүктесі бар өте ұзақ Сан пайда болғандықтан, онда үтірден кейін көптеген белгілер болуы мүмкін, ол дөңгелек () функциясын қолдана отырып, үтірден кейін екі санға дейін дөңгелектенеді.
    Соңында алынған мән консольге көрсетіледі. Мысалы, Бағдарламаны іске қосыңыз және кейбір деректерді енгізіңіз:

    Введите сумму, которую вы хотите обменять: 20000

    Укажите код валюты (доллары - 400, евро - 401): 401

    Валюта: евро

    К получению: 333.33
    Циклдар
    Циклдар белгілі бір шарттың сақталуына байланысты кейбір әрекеттерді қайталауға мүмкіндік береді.

    While циклі

    Біз қарастыратын бірінші цикл-бұл while цикл. Оның келесі ресми анықтамасы бар:

    1

    2

    while условное_выражение:

       инструкции


    Кілт сөзден кейін Шартты өрнек көрсетіледі және бұл өрнек шын мәнін қайтарған кезде, келесі нұсқаулар блогы орындалады.
    Циклге қатысты барлық нұсқаулар келесі жолдарда орналасқан және жолдың басынан шегініс болуы керек.

    1

    2

    3

    4

    5

    6

    choice = "y"

     

    while choice.lower() == "y":

        print("Привет")

        choice = input("Для продолжения нажмите Y, а для выхода любую другую клавишу: ")

    print("Работа программы завешена")


    Бұл жағдайда таңдау циклі "Y" немесе "y"латын әрпі болған кезде жалғасады.
    Цикл блогының өзі екі нұсқаулықтан тұрады. Алдымен "сәлем" хабары көрсетіледі, содан кейін choice айнымалысы үшін жаңа мән енгізіледі. Егер пайдаланушы Y-ден басқа пернені басса, циклден шығу пайда болады, өйткені таңдау шарты.төмен () = = "y" жалған мәнді қайтарады. Мұндай циклдің әр өтуі Итерация деп аталады.
    Сондай-ақ, соңғы басып шығару нұсқаулығында("бағдарламаның жұмысы ілулі") жолдың басынан шегініс жоқ, сондықтан ол циклге кірмейді.

    Доға мысалы-факторлық есептеу:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    #! Программа по вычислению факториала

     

    number = int(input("Введите число: "))

    i = 1

    factorial = 1

    while i <= number:

        factorial *= i

        i += 1

    print("Факториал числа", number, "равен", factorial)


    Мұнда ол консольден белгілі бір санды енгізеді, ал Сан санауыш I енгізілген саннан үлкен болғанша, факторлық Сан көбейтілетін цикл орындалады.
    1   2   3   4   5   6   7   8   9   10


    написать администратору сайта