Lorienar
Июнь 7, 2010 19:11:25
Собственно разбираю пример с книжки - в связи с чем вопрос.
Ввожу код
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а не определена…но она же первой прописывается.
Прошу помочь, а то мозг взрывается.
Спасибо заранее.
UsCr
Июнь 7, 2010 19:21:47
raw_input()
UsCr
Июнь 7, 2010 19:23:48
А, ненене. Если на data ругается, то raw_input тут не поможет.
Кстати, ваш код у меня работает, по крайней мере если вводить игрек в кавычках.
python 2.6, linux
SETY
Июнь 7, 2010 19:25:45
не используй уже имеющееся название data, и инпут лучше использовать так:
dat = raw_input('Введите свой ключ y или и\n')
if dat[0]== 'у':
print ('Ввел у - молодчинка')
elif dat[0] == 'и':
print ('Ввел и - тоже молодчинка')
else:
print ('Сосредоточься всего 2 буквы')
вот так все ок работает
Lorienar
Июнь 7, 2010 19:30:34
Ну я пытаюсь использовать Python 3.1(
Думаю для 2.6 Ваша версия более чем пригодна…но как Вы знаете raw_input() в версии 3.1 нету….может мне что то помочь или в таком варианте в 3.1 данный код не пройдет?
Я использую Интерпретатор 3.1 для работы под Windows.
Проверил - для 2.6 работает - но выдает странные кракозяблики - это с кодировкой проблемы - но какую-то тему на этот счет я видел на форуме. Там кажется вначале надо прописывать код который использоваться будет.
Lorienar
Июнь 7, 2010 19:44:23
не используй уже имеющееся название data, и инпут лучше использовать так
Все все пошло, SETY, спасибо за спасение мозга.
SETY
Июнь 7, 2010 19:55:24
да! просто в питоне есть понятие …
Data Typesпоэтому лучше не обозначать так переменные.