Конструкция match-case дар Python
Дар Python, аз версияи 3.10
конструкцияи махсуси match-case мавҷуд аст,
ки барои интихоби як арзиш
аз як қатор арзишҳо истифода мешавад. Синтаксиси он:
match varuable:
case 'value1':
'''
дар инҷо рамзест, ки иҷро хоҳад шуд
агар тағйирёбанда арзиши 1-ро дошта бошад
'''
case 'value2'
'''
дар инҷо рамзест, ки иҷро хоҳад шуд
агар тағйирёбанда арзиши 2-ро дошта бошад
'''
case _:
'''
дар инҷо рамзест, ки иҷро хоҳад шуд
агар арзиш ба чизе мувофиқат накунад
'''
Бигзор мо тағйирёбандаи 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 нигоҳ дошта шавад.
Номи фаслеро, ки ба ин моҳ мувофиқат мекунад, чоп кунед.