Найти - Пользователи
Полная версия: Пользовательский ввод буквы "К"
Начало » Python для новичков » Пользовательский ввод буквы "К"
1
dreamer1cc
Добрый день.

Столкнулся с необъяснимой проблемой. Большая букава К введенная с помощью комманды input() в python версии 3.5.2 сразу же вызывает исключение. Такая проблема только с этой буквой. Маленькая к, любая другая большая или маленькая - порядок.

Вот как выглядит код:

 interview = {}
active = True
while active:
    names = input("Ваше имя? ")
    vacation = input("\nГде бы вы хотели провести отпуск? ")
    interview[names] = vacation
    message = input("\nХотите продолжить опрос? Да\Нет. ").lower()
    if message == "нет":
        active = False
print("\nРезультаты интервью пользователей: ")
for name, vacation in interview.items():
    print(name.title() + " хотел бы побывать во время отпуска в " + vacation.title())

вот его результат:
 Ваше имя? К
---------------------------------------------------------------------------
EOFError                                  Traceback (most recent call last)
<ipython-input-10-02fd86843ac1> in <module>()
      2 active = True
      3 while active:
----> 4     names = input("Ваше имя? ").lower()
      5     vacation = input("\nГде бы вы хотели провести отпуск? ").lower()
      6     interview[names] = vacation
EOFError:

Что я сделал не так? Не могу понять или как-либо обработать эту ситуацию корректно. Не ловить же в конце концов исключение, меняя при этом на латинскую K…

Повторяется даже при :
 message = input("напиши тут ")
print(message)
dreamer1cc
Опытным путём удалось выяснить, что если первым будет введен любой символ, а потом в тексте будет присутствовать К - проблемы не возникнет, т.е. даже банально первым ставим пробел, и дальше пишем - ошибки нет.

Но присвоить переменной пробел + пользовательский ввод нелья, ошибка именно в input, при вводе текста.
marvellik
странно но все без проблем

 Ваше имя? К
Где бы вы хотели провести отпуск? багамы
Хотите продолжить опрос? Да\Нет. да
Ваше имя? к
Где бы вы хотели провести отпуск? там же
Хотите продолжить опрос? Да\Нет. нет
Результаты интервью пользователей: 
К хотел бы побывать во время отпуска в Багамы
К хотел бы побывать во время отпуска в Там Же
dreamer1cc
Ещё более опытным путём пришел к выводу, что это косяк оболочки IPython, напрямую запущенный python с переданным параметром - моим файлом со скриптом - так же отрабатывает без ошибок.

Т.е. виноват интепритатор. Посоветуете безпроблемный на Windows?
JOHN_16
дело не совсем в питоне или даже в ipython, тут дело видимо в окружении, нужно исследовать проблему:
(env) vagrant@local:$ ipython3
Python 3.4.3 (default, Nov 17 2016, 01:08:31)
Type “copyright”, “credits” or “license” for more information.

IPython 5.1.0 – An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help -> Python's own help system.
object? -> Details about ‘object’, use ‘object??’ for extra details.

In : input()
К
Out: ‘К’

In : exit()


(env) $ pshell settings/vagrant.ini
Python 3.4.3 (default, Nov 17 2016, 01:08:31)
Type “copyright”, “credits” or “license” for more information.

IPython 5.1.0 – An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help -> Python's own help system.
object? -> Details about ‘object’, use ‘object??’ for extra details.

In : input()
К
—————————————————————————
UnicodeDecodeError Traceback (most recent call last)
<ipython-input-1-25ede6ea20bf> in <module>()
—-> 1 input()

UnicodeDecodeError: ‘utf-8’ codec can't decode byte 0xd0 in position 0: invalid continuation byte
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB