Sobes.tech
Middle

Чыгым чегерүүлөрүн сандык эмес, алфавиттик диапазонго кантип текшерсе болот?

sobes.tech AI

AIден жооп

Шекардык маанилерди алфавиттик интервалда текшерүү биринчи жана акыркы уруксат берилген белгини, ошондой эле уруксат берилген диапазонго түздөн-түз жакын жана андан кийинки белгилерди текшерүүнү камтыйт, эгер алар белгилердин топтомунда бар болсо:

Мисалы, төмөнкү регистрдеги кирилл тамгаларын кабыл алган талаа үчүн (а-я):

  • Төмөнкү чек:
    • 'а' (биринчи уруксат берилген белгилер)
    • 'а'дан мурдагы белгилер (эгер колдонулса жана коддоо топтомунда бар болсо)
  • Жогорку чек:
    • 'я' (акыркы уруксат берилген белгилер)
    • 'я'дан кийинки белгилер (эгер колдонулса жана коддоо топтомунда бар болсо)

Кошумча текшерүүлөр:

  • Бош сап: ""
  • Бир белгиден турган сап: 'б' (опсектеги кез келген белгилер)
  • Опсектен тышкары белгилерден турган сап:
    • Латын тамгалары: 'a', 'z'
    • Сандык белгилер: '1', '9'
    • Специальдик белгилер: '$', '#'
    • Кирилл тамгалары чоң тамгаларда: 'А', 'Я'
  • Опсектеги жана тышкары белгилерди камтыган сап: "абвA1"

Бул маанилерди киргизүү талаасына жүктөө жана тутумдун күтүлгөн иш-аракетин текшерүү: уруксат берилген маанилерди кабыл алуу жана кабыл албоо (же туура иштетүү):

Python кодундагы мисал:

# Тексттин кириллица кичинекей тамгаларда экенин текшерүү функциясы
def validate_cyrillic_lowercase(text):
    import re
    return bool(re.fullmatch('[а-я]+', text))

# Граничных значений тестовые случаи
test_cases = {
    "Төмөнкү чек (биринчи белгилер)": ('а', True),
    "Төмөнкү чек (диапазондан мурда, жараксыз)": ('`', False), # 'а'дан мурдагы белгилердин мисалы
    "Жогорку чек (акыркы белгилер)": ('я', True),
    "Жогорку чек (диапазондон кийин, жараксыз)": ('{', False), # 'я'дан кийинки белгилердин мисалы
    "Диапазон ичинде": ('абв', True),
    "Бош сап": ('', False),
    "Латын тамгалары": ('abc', False),
    "Сандар": ('123', False),
    "Специальдик белгилер": ('@#$', False),
    "Кирилл тамгалары чоң тамгаларда": ('АБВ', False),
    "Карама-каршы сап": ('абвA1', False)
}

# Тесттерди ишке ашыруу
for description, (value, expected) in test_cases.items():
    actual = validate_cyrillic_lowercase(value)
    assert actual == expected, f"Тест: {description}, мааниси: '{value}', күтүлүүчү: {expected}, алынган: {actual}"
    print(f"Тест '{description}' үчүн '{value}' мааниси өттү.")