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

Дар Python, аз версияи 3.10 конструкцияи махсуси match-case мавҷуд аст, ки барои интихоби як арзиш аз як қатор арзишҳо истифода мешавад. Синтаксиси он:

pythonmatch varuable:
  case 'value1':
    '''
      дар инҷо рамзест, ки иҷро хоҳад шуд
      агар тағйирёбанда арзиши 1-ро дошта бошад
    '''
  case 'value2'
    '''
      дар инҷо рамзест, ки иҷро хоҳад шуд
      агар тағйирёбанда арзиши 2-ро дошта бошад
    '''
  case _:
    '''
      дар инҷо рамзест, ки иҷро хоҳад шуд
      агар арзиш ба чизе мувофиқат накунад
    '''

Бигзор мо тағйирёбандаи 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 нигоҳ дошта шавад. Номи фаслеро, ки ба ин моҳ мувофиқат мекунад, чоп кунед.