Bikarhêner:Şêr/peyvên kurdî.py

def generate_kurdish_words(pattern, vowels, consonants, non_adjacent_pairs):
    if len(pattern) == 0:
        return ['']

    first = pattern[0]
    rest = pattern[1:]
    words = []

    if first == 'V':
        for vowel in vowels:
            if (len(rest) > 0 and (vowel, rest[0]) in non_adjacent_pairs):
                continue
            rest_words = generate_kurdish_words(rest, vowels, consonants, non_adjacent_pairs)
            words.extend([vowel + w for w in rest_words])
    elif first == 'C':
        for consonant in consonants:
            rest_words = generate_kurdish_words(rest, vowels, consonants, non_adjacent_pairs)
            words.extend([consonant + w for w in rest_words])

    return words

vowels = 'aeêiîouû'
consonants = 'bcçdfghjklmnpqrsştvwxyz'

patterns = [
    'VC',
    'CV',
    'CC',
    'VCV',
    'VCC',
    'CVC',
    'CCV',
    'VCVC',
    'VCCV',
    'VCCC',
    'CVVV',
    'CVVC'
]

non_adjacent_pairs = [('î', 'î'), ('î', 'ê')]

for pattern in patterns:
    words = generate_kurdish_words(pattern, vowels, consonants, non_adjacent_pairs)
    print(f'Muster {pattern}: {words}')