@hardwellZero

Как заставить выводить русский текст Python?

Что нужно сделать что-бы в консоль выводилась кириллица?

Для англ. алфавита - работает, а для русского - нет.
__author__ = 'getlucky'
# -*- coding: utf-8 -*-
def cesarMethod(message):
    output = []
    alphabet = 'abcdefghijklmnopqrstuvwxyz'#'абвгдеёжзийклмнопрстуфхцчшщъыьэюя'
    steps = int(raw_input('Введите Ваш ключ: '))

    for i in message:
        if i == ' ':
            output.append(' ')
        else:
            pos = alphabet.index(i) + steps
            if pos >= 25:
                pos -= 26
            output.append(alphabet[pos].decode('utf8'))

    print 'Зашифрованное сообщение: ', ''.join(output)

message = raw_input('Введите Ваше сообщение: ').lower()
cesarMethod(message)
  • Вопрос задан
  • 47913 просмотров
Решения вопроса 1
winordie
@winordie
Лучшая документация -- исходники
# -*- coding: utf-8 -*-
message = 'ывпавыапавыпвпав'
for i in message:
        print(i)

сравните вывод с
message = u'ывпавыапавыпвпав'
for i in message:
        print(i)

разница всего в одном символе

UPDATE
# -*- coding: utf-8 -*-
def cesarMethod(message):
    output = []
    # alphabet = 'abcdefghijklmnopqrstuvwxyz'#'абвгдеёжзийклмнопрстуфхцчшщъыьэюя'
    alphabet = u'абвгдеёжзийклмнопрстуфхцчшщъыьэюя'
    # steps = int(raw_input('Введите Ваш ключ: '))
    steps = 2

    for i in message.decode('utf8'):
        if i == ' ':
            output.append(' ')
        else:
            pos = alphabet.index(i) + steps
            if pos >= 25:
                pos -= 26
            output.append(alphabet[pos])

    print 'Зашифрованное сообщение: ', ''.join(output)

# message = raw_input('Введите Ваше сообщение: ').lower()
message = 'специальнодлятостера'

cesarMethod(message)
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
AnnTHony
@AnnTHony
Интроверт
Сохраните файл в кодировке UTF-8
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы