ГЛАВА 2, 3, 4, 5. 2 тарау. Python Негіздері Бадарламаларды жазуа кіріспе
Скачать 242.51 Kb.
|
Шартты өрнектер Бірқатар операциялар шартты өрнектерді білдіреді. Барлық осы операциялар екі операндты қабылдайды және Python-да boolean түрін білдіретін логикалық мәнді қайтарады. Тек екі логикалық мән бар - True (өрнек шын) және False (өрнек жалған). Салыстыру операциялары Қарапайым шартты өрнектер екі мәнді салыстыратын салыстыру амалдарын білдіреді. Python келесі салыстыру әрекеттерін қолдайды: == Егер екі операнд тең болса, True қайтарады. Әйтпесе, ол жалған қайтарады. != Егер екі операнд тең болмаса, True қайтарады. Әйтпесе, ол жалған қайтарады. >(артық) Егер бірінші операнд екіншісінен үлкен болса, True қайтарады. < (кем) Егер бірінші операнд екіншісінен аз болса, True қайтарады. > = (көп немесе тең) Егер бірінші операнд екіншісінен үлкен немесе оған тең болса, True қайтарады. < = (аз немесе тең) Егер бірінші операнд екіншісінен кіші немесе оған тең болса, True қайтарады. Салыстыру амалдарының мысалдары:
Салыстыру операциялары әртүрлі нысандарды - жолдарды, сандарды, логикалық мәндерді салыстыра алады, алайда операцияның екі операндасы да бірдей типті көрсетуі керек. Логикалық операциялар Күрделі шартты өрнектерді жасау үшін логикалық амалдар қолданылады. Python-да келесі логикалық операторлар бар: and (логикалық көбейту) Егер екі өрнек те шын болса, True қайтарады
Бұл жағдайда and операторы Екі өрнектің нәтижелерін салыстырады: age > 21 weight == 58. Егер осы екі өрнек те True-ді қайтарса, онда and операторы да True-ді қайтарады. Сонымен қатар, салыстыру операциясы өрнектердің бірі ретінде міндетті емес: бұл басқа логикалық операция немесе шын немесе жалған сақтайтын boolean түріндегі айнымалы болуы мүмкін.
or (логикалық қосымша) Егер өрнектердің кем дегенде біреуі шын болса, True қайтарады
not (логикалық теріске шығару) Егер өрнек жалған болса, True қайтарады
Егер and операторының операндтарының бірі жалған қайтарса, онда басқа операнд енді бағаланбайды, өйткені оператор кез-келген жағдайда жалған қайтарады. Мұндай мінез-құлық өнімділікті сәл арттыруға мүмкіндік береді, өйткені екінші операндты бағалауға ресурстарды жұмсаудың қажеті жоқ. Сол сияқты, егер or операторының операндтарының бірі True-ді қайтарса, онда екінші операнд бағаланбайды, өйткені оператор кез-келген жағдайда True-ді қайтарады. Жолдармен операциялар Жол тырнақшаға салынған Unicode кодтаудағы таңбалар тізбегін білдіреді. Python-да біз жалғыз және қос тырнақшаларды қолдана аламыз:
Жолдардағы ең көп таралған операциялардың бірі-оларды біріктіру немесе байланыстыру. Жолдарды біріктіру үшін плюс белгісі қолданылады:
Екі жолды біріктіргенде бәрі қарапайым, бірақ жол мен санды қосу керек болса ше? Бұл жағдайда strr() функциясын қолдана отырып, санды жолға келтіру керек:
Эскейп-реттілік Стандартты таңбалардан басқа, жолдар арнайы түрде түсіндірілетін эскап тізбегін басқаруды қамтуы мүмкін. Мысалы, \ n тізбегі жолдың аудармасын білдіреді. Сондықтан келесі өрнек:
Консольде екі жол көрсетіледі: Время пришло в гости отправится ждет меня старинный друг Бұл \t реттілігіне де қатысты, ол кестені қосады. Сонымен қатар, жолда қолдану қиын болып көрінетін таңбалар бар. Мысалы, тырнақша. Жолдың ішінде тырнақшаларды (екі және жалғыз) көрсету үшін олардың алдына қиғаш сызық қойылады:
\"") Жолдарды салыстыру Жолдарды салыстыру туралы ерекше айту керек. Жолдарды салыстыру кезінде таңбалар мен олардың регистрі ескеріледі. Сонымен, сандық таңба кез-келген алфавиттік таңбадан шартты түрде аз. Жоғарғы регистрдегі алфавиттік таңба төменгі регистрдегі алфавиттік таңбаларға қарағанда шартты түрде аз. Мысалы:
Сондықтан "1A" жолы шартты түрде "АА"жолынан аз. Алдымен салыстыру бірінші таңбамен жүреді. Егер екі жолдың бастапқы таңбалары сандарды білдірсе, онда кіші Сан аз деп саналады, мысалы, "1A" "2A" - дан аз. Егер бастапқы таңбалар алфавиттік таңбаларды бір регистрде көрсетсе, онда олар Алфавит бойынша көрінеді. Сонымен, " АА "" ба "- дан аз, ал" ба ""ca" - дан аз. Егер бірінші таңбалар бірдей болса, екінші таңбалар олар болған кезде есептеледі. Регистрге тәуелділік әрдайым қажет емес, өйткені іс жүзінде біз бірдей жолдармен айналысамыз. Бұл жағдайда салыстырудан бұрын біз екі жолды да регистрлердің біріне апара аламыз. Lower () функциясы жолды төменгі регистрге, ал upper () функциясы жоғарғы регистрге апарады.
Шартты if құрылысы Шартты конструкциялар шартты өрнектерді қолданады және олардың мәніне байланысты бағдарламаның орындалуын жолдардың біріне бағыттайды. Осындай құрылымдардың бірі-if дизайны. Оның келесі ресми анықтамасы бар:
Қарапайым түрде, if кілт сөзінен кейін логикалық өрнек пайда болады. Егер бұл логикалық өрнек true-ді қайтарса, онда келесі нұсқаулар блогы орындалады, олардың әрқайсысы жаңа ағыннан басталып, жолдың басынан шегіністер болуы керек:
Бұл жағдайда age айнымалы мәні 21-ден үлкен болғандықтан, if блогы орындалады, ал консоль келесі жолдарды шығарады: Доступ разрешен Завершение работы Шегіністі 4 бос орынға немесе 4-ке көбейтілген Бос орындар санына жасаған жөн. " Завершение работы" хабарын көрсететін соңғы ағынға назар аударыңыз. Жолдың басынан ешқандай шегініс жоқ, сондықтан ол if блогына жатпайды және кез-келген жағдайда орындалады, тіпті егер if дизайнындағы өрнек жалғандықты қайтарса да. Бірақ егер біз шегініс жасасақ, онда ол if дизайнына да қатысты болар еді:
Егер кенеттен біз балама шешімді анықтауымыз керек болса, егер Шартты өрнек жалған болса, онда біз басқа блокты қолдана аламыз:
Егер age > 21 өрнегі шын мәнін қайтарса, онда if блогы орындалады, әйтпесе басқа блок орындалады. Егер сізге бірнеше балама шарттарды енгізу қажет болса, онда сіз қосымша elif блоктарын қолдана аласыз, содан кейін Нұсқаулық блогы бар.
Кірістірілген if конструкциялары If дизайны өз кезегінде кірістірілген if конструкцияларына ие болуы мүмкін:
Кірістірілген if өрнектері де шегіністерден басталуы керек, ал кірістірілген конструкциялардағы нұсқаулар да шегіністерге ие болуы керек. Дұрыс орналастырылмаған шегіністер бағдарламаның логикасын өзгерте алады. Сонымен, алдыңғы мысал келесіге ұқсас емес:
Енді біз шартты конструкцияларды қолданатын шағын бағдарламаны жазамыз. Бұл бағдарлама айырбастау пунктінің бір түрі болады:
Input () функциясын қолдана отырып, пайдаланушы енгізген деректерді консольге аламыз. Сонымен қатар, бұл функция деректерді жол түрінде қайтарады, сондықтан енгізілген деректерді арифметикалық амалдарда қолдануға болатындай етіп int () функциясын қолдана отырып, оны бүтін санға келтіру керек. Бағдарлама пайдаланушы айырбасталатын қаражат мөлшерін және айырбасталатын валюта кодын енгізетінін білдіреді. Валюта кодтары жеткілікті шартты: доллар үшін 400 және евро үшін 401. If дизайнын қолдана отырып, біз валюта кодын тексеріп, тиісті валюта бағамына бөлеміз. Бөлу процесінде өзгермелі нүктесі бар өте ұзақ Сан пайда болғандықтан, онда үтірден кейін көптеген белгілер болуы мүмкін, ол дөңгелек () функциясын қолдана отырып, үтірден кейін екі санға дейін дөңгелектенеді. Соңында алынған мән консольге көрсетіледі. Мысалы, Бағдарламаны іске қосыңыз және кейбір деректерді енгізіңіз: Введите сумму, которую вы хотите обменять: 20000 Укажите код валюты (доллары - 400, евро - 401): 401 Валюта: евро К получению: 333.33 Циклдар Циклдар белгілі бір шарттың сақталуына байланысты кейбір әрекеттерді қайталауға мүмкіндік береді. While циклі Біз қарастыратын бірінші цикл-бұл while цикл. Оның келесі ресми анықтамасы бар:
Кілт сөзден кейін Шартты өрнек көрсетіледі және бұл өрнек шын мәнін қайтарған кезде, келесі нұсқаулар блогы орындалады. Циклге қатысты барлық нұсқаулар келесі жолдарда орналасқан және жолдың басынан шегініс болуы керек.
Бұл жағдайда таңдау циклі "Y" немесе "y"латын әрпі болған кезде жалғасады. Цикл блогының өзі екі нұсқаулықтан тұрады. Алдымен "сәлем" хабары көрсетіледі, содан кейін choice айнымалысы үшін жаңа мән енгізіледі. Егер пайдаланушы Y-ден басқа пернені басса, циклден шығу пайда болады, өйткені таңдау шарты.төмен () = = "y" жалған мәнді қайтарады. Мұндай циклдің әр өтуі Итерация деп аталады. Сондай-ақ, соңғы басып шығару нұсқаулығында("бағдарламаның жұмысы ілулі") жолдың басынан шегініс жоқ, сондықтан ол циклге кірмейді. Доға мысалы-факторлық есептеу:
Мұнда ол консольден белгілі бір санды енгізеді, ал Сан санауыш I енгізілген саннан үлкен болғанша, факторлық Сан көбейтілетін цикл орындалады. |