Python даги match-case конструкцияси

Python да, 3.10 версиясидан бошлаб мавжуд бўлган maxsus match-case конструкцияси мавжуд бўлиб, у бир қанча қийматлар орасидан битта қийматни танлаш учун ишлатилади. Унинг синтаксиси:

pythonmatch varuable:
  case 'value1':
    '''
      бу ердаги код ишга тушади
      агар ўзгарувчи 1 қийматга эга бўлса
    '''
  case 'value2'
    '''
      бу ердаги код ишга тушади
      агар ўзгарувчи 2 қийматга эга бўлса
    '''
  case _:
    '''
      бу ердаги код ишга тушади
      агар қиймат биронтага ham мос келмаса
    '''

Фарз қилайлик, бизда tst ўзгарувчиси мавжуд:

pythontst = 'a'

Келинг, шартда ўзгарувчи қабул қилиши мумкин бўлган турли вариантларни ёзайлик:

pythonmatch tst:
  case 'a':
    print('a')
  case 'b':
    print('b')
  case _:
    print('tst номаълум')

Шунингдек, | оператори ёрдамида ҳар бир вариантда керакли қийматлар топламини белгилаб олиш мумкин:

pythonmatch tst:
  case 'a' | 'c':
    print('a ёки c')
  case 'b' | 'd':
    print('b ёки d')
  case _:
    print('tst номаълум')
Задание 1

Фарз қилайлик, num ўзгарувчисида фасл рақамини ифодаловчи 1, 2, 3 ёки 4 сонларининг бири сақлансин. Сонда сақланган фасл номини чиқаринг.

Задание 2

Фарз қилайлик, num ўзгарувчисида 1 дан 12 гача бўлган ой рақами сақлансин. Шу ойга тўғри келувчи фасл номини чиқаринг.