Форум сайта python.su
0
Добрый день.
Столкнулся с необъяснимой проблемой. Большая букава К введенная с помощью комманды 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:
message = input("напиши тут ") print(message)
Офлайн
0
Опытным путём удалось выяснить, что если первым будет введен любой символ, а потом в тексте будет присутствовать К - проблемы не возникнет, т.е. даже банально первым ставим пробел, и дальше пишем - ошибки нет.
Но присвоить переменной пробел + пользовательский ввод нелья, ошибка именно в input, при вводе текста.
Офлайн
73
странно но все без проблем
Ваше имя? К Где бы вы хотели провести отпуск? багамы Хотите продолжить опрос? Да\Нет. да Ваше имя? к Где бы вы хотели провести отпуск? там же Хотите продолжить опрос? Да\Нет. нет Результаты интервью пользователей: К хотел бы побывать во время отпуска в Багамы К хотел бы побывать во время отпуска в Там Же
Офлайн
0
Ещё более опытным путём пришел к выводу, что это косяк оболочки IPython, напрямую запущенный python с переданным параметром - моим файлом со скриптом - так же отрабатывает без ошибок.
Т.е. виноват интепритатор. Посоветуете безпроблемный на Windows?
Офлайн
221
дело не совсем в питоне или даже в 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
Отредактировано JOHN_16 (Фев. 16, 2017 18:22:19)
Офлайн