Зертханалық жұмыс №6. Көптік тармақталуды қолданып бағдарламалау Жұмыстың мақсаты


Match-case сөздерін "жағдайға сәйкес" деп аударуға болады. Яғни, егер "матч" кезіндегі айнымалы немесе өрнектің мәні қандай да бір case



бет2/4
Дата27.11.2023
өлшемі53,95 Kb.
#129168
түріНұсқаулар
1   2   3   4
Match-case сөздерін "жағдайға сәйкес" деп аударуға болады. Яғни, егер "матч" кезіндегі айнымалы немесе өрнектің мәні қандай да бір case мәніне сәйкес келсе, онда осы case енгізілген әрекеттер орындалады.
If-elif-тен айырмашылығы, мұнда логикалық өрнектерді қолдануға болмайды. case кейін литерал, нақты мән, бір мәнді нәтижені қайтаратын өрнек болуы керек.
If-elseif-else арқылы қарағанда match-case көмегімен бірнеше тармақталуды жүзеге асыру ыңғайлы болатын бағдарламаны қарастырыңыз:
sign = input('Знак операции: ')
a = int(input('Число 1: '))
b = int(input('Число 2: '))
match sign:
case '+':
print(a + b)
case '-':
print(a - b)
case '/':
if b != 0:
print(round(a / b, 2))
case '*':
print(a * b)
case _:
print('Неверный знак операции')
Мұнда sign айнымалысының мәні кез-келген диапазонға ену үшін емес, берілген жол литералдарының дәл сәйкестігі үшін тексеріледі. Бұл жағдайда case тармақтарында sign == '+' немесе sgn = = ' - ' жазудың қажеті жоқ, өйткені if-elif бағдарламасында мұны істеу керек еді:
if sign == '+':
print(a + b)
elif sign == '-':
print(a - b)
elif sign == '/':
if b != 0:
print(round(a / b, 2))
elif sign == '*':
print(a * b)
else:
print('Неверный знак операции')
Match коды айқынырақ көрінеді.
Python тілінің match операторында else тармағы жоқ. Оның орнына case _ филиалы қолданылады.
Бір case арқылы оператор / бірнеше мәндерді тізімдеуге болады. Егер айнымалының мәні олардың кем дегенде біреуіне сәйкес келсе, онда бұл case денесі орындалады.
sign = input('Знак операции: ')
match sign:
case '+' | '-' | '*':
a = int(input('Число 1: '))
b = int(input('Число 2: '))


Достарыңызбен бөлісу:
1   2   3   4




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет