Форум сайта python.su
Собственно разбираю пример с книжки - в связи с чем вопрос.
Ввожу код
data = input('Введите свой ключ y или и\n')
if datа == ‘у’:
print ('Ввел у - молодчинка')
elif datd == ‘и’:
print ('Ввел и - тоже молодчинка')
else:
print ('Сосредоточься всего 2 буквы')
Интерпритатор показывает вот что…
Введите свой ключ y или и
y
Traceback (most recent call last):
File “C:\Python31\pyp1.py”, line 2, in <module>
if datа == ‘у’:
NameError: name ‘datа’ is not defined
То есть переменная datа не определена…но она же первой прописывается.
Прошу помочь, а то мозг взрывается.
Спасибо заранее.
Офлайн
raw_input()
Офлайн
А, ненене. Если на data ругается, то raw_input тут не поможет.
Кстати, ваш код у меня работает, по крайней мере если вводить игрек в кавычках.
python 2.6, linux
Отредактировано (Июнь 7, 2010 19:26:23)
Офлайн
не используй уже имеющееся название data, и инпут лучше использовать так:
dat = raw_input('Введите свой ключ y или и\n')
if dat[0]== 'у':
print ('Ввел у - молодчинка')
elif dat[0] == 'и':
print ('Ввел и - тоже молодчинка')
else:
print ('Сосредоточься всего 2 буквы')
Офлайн
Ну я пытаюсь использовать Python 3.1(
Думаю для 2.6 Ваша версия более чем пригодна…но как Вы знаете raw_input() в версии 3.1 нету….может мне что то помочь или в таком варианте в 3.1 данный код не пройдет?
Я использую Интерпретатор 3.1 для работы под Windows.
Проверил - для 2.6 работает - но выдает странные кракозяблики - это с кодировкой проблемы - но какую-то тему на этот счет я видел на форуме. Там кажется вначале надо прописывать код который использоваться будет.
Отредактировано (Июнь 7, 2010 19:37:36)
Офлайн
не используй уже имеющееся название data, и инпут лучше использовать так
Все все пошло, SETY, спасибо за спасение мозга.
Офлайн
да! просто в питоне есть понятие … Data Types
поэтому лучше не обозначать так переменные.
Офлайн