Python даги match-case конструкцияси
Python да, 3.10 версиясидан бошлаб
мавжуд бўлган maxsus match-case
конструкцияси мавжуд бўлиб, у бир қанча
қийматлар орасидан битта қийматни танлаш
учун ишлатилади. Унинг синтаксиси:
match varuable:
case 'value1':
'''
бу ердаги код ишга тушади
агар ўзгарувчи 1 қийматга эга бўлса
'''
case 'value2'
'''
бу ердаги код ишга тушади
агар ўзгарувчи 2 қийматга эга бўлса
'''
case _:
'''
бу ердаги код ишга тушади
агар қиймат биронтага ham мос келмаса
'''
Фарз қилайлик, бизда tst ўзгарувчиси мавжуд:
tst = 'a'
Келинг, шартда ўзгарувчи қабул қилиши мумкин бўлган турли вариантларни ёзайлик:
match tst:
case 'a':
print('a')
case 'b':
print('b')
case _:
print('tst номаълум')
Шунингдек, | оператори ёрдамида
ҳар бир вариантда керакли қийматлар
топламини белгилаб олиш мумкин:
match tst:
case 'a' | 'c':
print('a ёки c')
case 'b' | 'd':
print('b ёки d')
case _:
print('tst номаълум')
Фарз қилайлик, num ўзгарувчисида
фасл рақамини ифодаловчи 1, 2, 3
ёки 4 сонларининг бири сақлансин.
Сонда сақланган фасл номини чиқаринг.
Фарз қилайлик, num ўзгарувчисида
1 дан 12 гача бўлган ой рақами сақлансин.
Шу ойга тўғри келувчи фасл номини чиқаринг.