Обработка условия для игры в города

Пишу программу, с которой можно будет играть в города. Все в общем готово, за исключением одного момента: по правилам, если слово кончается на "ь" или "ъ", то браться должна предпоследняя буква. Это условие срабатывает только один раз, при последующем вводе это условие не срабатывает.

Пример: Ввод: Пермь Ответ: Москва Ввод: Анадырь Ответ: Вы выйграли! Я больше не знаю городов на букву "Ь", а должно быть "... на букву "Р""

Код ниже:

CITIES_DATABASE = ['Москва', 'Архангельск', 'Хабаровск']

city = input('Введите город: ')
cntr = 0

for i in CITIES_DATABASE:

if city[-1] == 'ь' or city[-1] == 'ъ':

    if city[-2].upper() == i[0][0]:
        print(f'Ответ: {i}!')
        cntr += 1
        CITIES_DATABASE.__delitem__(cntr)
        city = input('Введите город: ')

        if city[0] != i[-1][-1].upper():
            while city[0] != i[-1][-1].upper():
                print(f'Неверно! Город должен начинаться на букву "{i[-1][-1].upper()}"!')
                city = input('Введите город: ')

else:

    if city[-1].upper() == i[0][0]:
        print(f'Ответ: {i}!')
        cntr += 1
        CITIES_DATABASE.__delitem__(cntr)
        city = input('Введите город: ')

        if city[0] != i[-1][-1].upper():
            while city[0] != i[-1][-1].upper():
                print(f'Неверно! Город должен начинаться на букву "{i[-1][-1].upper()}"!')
                city = input('Введите город: ')

print(f'Вы выйграли! Я больше не знаю городов на букву "{city[-1].upper()}"')

Ответы (1 шт):

Автор решения: Violet
unused_letters = ['ъ', 'ы', 'ь']

# если последняя буква слова клиента содержится в списке неиспользуемых букв
if word_user[-1:] in unused_letters:
    letter = word_user[-2]  # предпоследняя буква слова клиента
else:
    letter = word_user[-1:]  # последняя буква слова клиента
→ Ссылка