Loading...

Шартту операторлор

 

Шартту операторлор

Абдан көп морж абалда көрүүгө болот, анткени ал дароо чек ичинде өзгөрмөлөрдү түзүүгө мүмкүндүк берет.

Тапшырма: кандайдыр бир шарттын аткарылышына жараша аракеттердин тартибин өзгөртүү.

Эң жөнөкөй учурда бул эки арифметикалык туюнтма, алардын ортосунда салыштыруу операциясынын белгиси жазылат.

 Pythonдо 6 салыштыруу оператору бар:

Мисал. Эки чыныгы а жана b саны берилген. Эгерде биринчиси экинчиден чоң болсо, анда ар бир санды 2 эсеге көбөйтүңүз, антпесе - эки эсеге азайтыңыз.

 Тиешелүү программа:

 @A@a = float(input('a = ')) 

 b = float(input('b = '))

 if a > b: 

a = a * 2 

    b = b * 2 

else: 

    a = a/2 

    b = b/2 

print('a =', a)

print('b =', b)@A@

      Таблица истинности

https://lh3.googleusercontent.com/Ye5kFz68O9sFwCyvBdk7rw9jjCSAb7wcXeZtArb8-sr-dFftG8Sa_ha0UCPXpIkwP0KcfM-qtB6UHxetDBMXFSh-dSw_7OF29wE_7QDy_EfNcbEmgpHr3VXZC53e-yCtHGPRJYKVuwHt5xpxeZ-a6QuBM-7CFNXV=s2048

Моржсуз кодду карагыла

@A@words = input('Сөздөрдү боштук аркылуу териңиз: ').split()

count = len(words)

if count > 3:

    print(f"0го канча сөз билесиң, {count}")

else:

    print(f"Сөз байлыгын толукташ керек, {count}бул аздык кылат")@A@

 

@T@Сөздөрдү боштук аркылуу териңиз: Salam

Сөз байлыгын толукташ керек, 1бул аздык кылат@T@

 

 

Морж оператору жана шарттары

Эми морж менен

@A@words = input('Сөздөрдү боштук аркылуу териңиз: ').split()

if(count := len(words)) > 3:

    print(f"0го канча сөз билесиң, {count}")

else:

    print(f"Сөз байлыгын толукташ керек, {count}бул аздык кылат")@A@

@T@Сөздөрдү боштук аркылуу териңиз: Salam Dostor

Сөз байлыгын толукташ керек, 2бул аздык кылат@T@

 

Операциянын артыкчылыктуулугун көрсөтүү үчүн кашаалар керек, биз үчтүк менен салыштыруунун акыркы аткарылышын каалайбыз. Эгер кашааларды алып салсаңыз, операциянын башка тартибин алыңыз

 

 

Switch – Case  оператору

Көптөгөн башка программалоо тилдеринде өткөн маанинин негизинде саналып өткөн маанилер менен биринчи дал келүүчүнү издеген которуштуруунун регистри бар. Төмөнкү сүрөттү кара

 

https://lh6.googleusercontent.com/iE6z2yhwE95KZQD5k-SqYd7Ykx4kGinKZY241KAJeMbXpWpEArmn1Q65c3lmqxXLEwNzD9Cd15KRSmsyTtYWOHHo3qxsLh1vySLitUISavPHoE8TSgcfVeCU0VW4vWKZh-HiSytU2_FB8CJSPTX3N_IsEg=s2048

 

 switch оператору python 3.10 менен баштап, жакында гана пайда болду. Ал эми бул жерде ал (pattern matching statement) дал келүү оператору деп аталат жана ошого жараша бир топ операторлор  .

эмес, дал  switch-case, а match-case келүү учуру колдонулат.

match-case учур оператору төмөнкү синтаксиске ээ:

https://lh5.googleusercontent.com/JTGgzjPutgb3WdOL8Q002e4P-6D__dc14hyiFMMGdbMvoCipZB-bmk3T8KaLlHgm620ZR4XInCo5h5sQEuW_Jpo2lmxyk_aqFdXl553H7LPylO7B6EyQsFtVOXUsLaqOagV_TWzUVHqYlWKexpyZOHH2xw=s2048

Дал келген ачкыч сөздөн кийин match менен текшериле турган маани келет.

Корпус блокторунда үлгүлөрдүн өзү көрсөтүлүп, дал келүү табылганга чейин текшерүү жогорудан ылдыйга чейин жүргүзүлөт.

Адатта, демейки аракет блогу эң түбүнө жайгаштырылат, ал калыптардын бири да табылбаганда аткарылат.

 

Ишке ашыруунун мисалы:

@A@lang = input("Кандай программалоо тилин үйрөнөбүз?")

match lang:

    case "JavaScript":

        print("Сиз фронтенд разработчик болосуз")

    case "Python":

        print("Сиз  Data Scientist болосуз")

    case "PHP":

        print("Сиз бекенд разработчикам болосуз")

    case "Solidity":

        print("Сиз Blockchain разработчик болосуз")

    case "Java":

        print("Сиз  мобилдик разработчик болосуз")

    case _:

        print("Тил маанилүү эмес, башкысы маселени чече билүү")@A@

 

 

Белгилей кетчү нерсе, дал келүү match-case  операторунда маани ар дайым калыпка (оператор ==) бирдейлиги текшерилет жана башка текшерүүлөрдү жана салыштырууларды жүргүзүү мүмкүн эмес.

Эгер татаал шартты жазуу керек болсо, анда if-elif-else

колдонуңуз.

Бир иштин блогундагы бир нече маанилерди салыштыруу үчүн case,,  |менен маанилерди санап чыгышыңыз керек

Оператор python3.10 версиясынан баштап гана иштей турганын унутпаңыз

Мисал:

@A@digit = int(input("Цивра киргиз: "))

match digit:

    case 0| 3| 6| 9:

        print("калдыгы жок 3кө бөлүнөт")

    case 1| 4| 7:

        print("3кө бөлгөндө, калган 1ди берет")

    case 2| 5| 8:

        print("3кө бөлгөндө, калган 2ни берет")

    case _:

        print(f"{digit} сан эмес")@A@

 

@T@Цивра киргиз: 8

3кө бөлгөндө, калган 2ни берет@T@

 

Мисал: 

Сиз билдирүүнүн ичиндеги объект боюнча ыкмаларды коопсуз чакыра аласыз match-case

@A@direction = 'NoRtH'

match direction.lower():

    case "north"| "east"| "sount"| "west":

        print("Макул , мен кеттим!")

    case _:

        print("Белгисиз багыт ...")@A@

 

Нарктын белгилүү бир түрү экендигин текшерүү канчалык оңой экенин көрүңүз

Оператор python3.10 версиясынан баштап гана иштей турганын унутпаңыз

@A@value = [1, 2,3]

match value:

    case int() | float():

        print("Сандар менен иштоо")

    case str():

        print("Сап  менен иштоо")

    case list():

        print("Тизме  менен иштоо")

    case _:

        print(f"Аны менен байланышпаганы жакшы")@A@