Справа налево и слева направо напечатаны красиво

Я хочу, чтобы он производил число рядом со словом, чтобы я мог попросить пользователя выбрать слово, используя соответствующий номер.

Это мой код

alt_words = hlst
loopnum = 8
for i in range(loopnum):
        if i < len(alt_words):
            print('{0}. {1:<20}'.format((i+1), alt_words[i]), end =' ')
            if i == 0:
                print('', end=' ')
        if i + 9 <= len(alt_words):
            print('{0}. {1:<20}'.format((i+9), alt_words[i+8]), end =' ')
        if i + 17 <= len(alt_words):
            print('{0}.  {1:<20}'.format((i+17), alt_words[i+16]), end=' ')
        print('\n'+'-'*80)

Это производит это Вывод из кода

Первое число каждой строки печатается слева, но слово справа, а остальные цифры и слова печатаются RTL. Кажется, что после того, как python начал печатать на линейной LTR, он может переключиться на RTL, но не обратно с RTL на LTR. Обратите внимание, что даже периоды печатаются справа от номера для второго набора чисел в каждой строке.

Он отлично работает и хорошо выглядит с английскими словами:

Python Table работает на английском языке

Я предполагаю, что обходной путь может заключаться в том, чтобы поставить число после слова, но я думаю, что должен быть лучший способ.

2 ответа

Решение

Поместите встраивание справа налево, u'\u202B'в начале каждого ивритского слова и символа " Направленное форматирование", u'\u202C'в конце каждого слова.

Это выделит ивритские слова как разделы RTL в другом документе LTR.

(Обратите внимание, что, хотя это даст правильный вывод, вы также зависите от терминального приложения, в котором вы запускаете этот скрипт, правильно реализовав двунаправленный алгоритм Unicode.)

См . Реализация двунаправленной (BiDi) раскладки на чистом питоне .

Установить с помощью:

      pip install python-bidi

Пример использования:

      from bidi.algorithm import get_display
print(get_display('LTR text with RTL text (טקסט לדוגמא) will be printed correctly'))

Следующий пакет также доступен, если вы используете Django: http://pypi.python.org/pypi/django-bidi-utils

Другие вопросы по тегам