2013-10-24 4 views
-1

Прежде всего, извините. Я новичок в программировании и программировании на своем устройстве Android, но по какой-то причине, когда я собираюсь скомпилировать этот код и запустить его с помощью Python для Android. Он продолжает возвращать ошибку:Кодирование python на android

File "/storage/emulated/programming/pass.py", line 4, in
username = input("Username: ") File"", line 1, in NameError: name 'user' is not defined

security = 0 

username = "" 
while not username: 
    username = input("username: ") 
password = "" 
while not password: 
    password = input("password: ") 
if username == "user" and password == "pass": 
    security = 5 
    print (" Hello, security level is:" , security) 
else: 
    print("invalid login") 

Теперь, когда я запускаю этот же кусок кода на моем компьютере, я не получаю эту ошибку. Кто-нибудь здесь знаком с написанием кода Python с Python для Android и Droidedit? Я установил все доступные модули.

+0

Попробуйте изменить '' Username: "' in 'username = input (" Username: ")' что-то еще –

+0

@SivaCn нет, что не поможет вообще ... он получает эту ошибку, потому что python для android использует python 2.7 (iirc) ... 'input' делает что-то совсем другое в python2 vs python 3 –

+0

Oh !, @JoranBeasley вы можете дать ссылку на это?, это также поможет мне. –

ответ

3

Im угадывание P4A не py3.0 + поэтому вам нужно raw_input не input

в python2 raw_input такая же, как input в Python3 +

с использованием input в python2 так же, как делает eval(input("Username:")) в Python 3

>>> x = raw_input("Enter Equation:") 
Enter Equation: 5 + 3 
>>> print repr(x) 
'5 + 3' 
>>> y = input("Enter Equation:") #this is the same as eval(input(msg)) in py3+ 
Enter Equation: 5 + 3 
>>> print repr(y) 
`8` 

Дополнительная информация о вашей ошибке. в входе python2 пытается оценить ввод пользователя в код python. вы вводите «пользователь» в качестве имени пользователя. Затем python пытается превратить его в код, интерпретирующий его как переменную. если, например, вы ввели 543 для имени пользователя, он будет работать нормально. также, если вы ввели «пользователь», включая кавычки, он будет работать нормально, так как оба будут оценивать до значений python (кавычки делают его строкой вместо переменной, а python знает, что такое ints)

+0

Большое вам спасибо. Это решило мою проблему. Интересно, почему они не обновились до Python 3 + .... –

+0

, потому что многие пакеты еще не поддерживают python3 или только частично поддерживают его. хотя теперь больше делать это ... это очень одно из тех, «хорошо работает», и работать было очень сложно ... если мы перейдем к python 3, мы должны сделать это снова и снова » –

Смежные вопросы