2016-08-22 4 views
-6

Я получаю, что это работает, и кажется простым, но это не так.Noob Python Code Wont Work

bob = raw_input("What do you need?") 
if bob is "Hello": 
    sayhello() 

def sayhello(): 
    print"yo" 
+3

'is' не делает то, что вы пытаетесь сделать, и функции должны быть определены до их вызова. – user2357112

+0

Пожалуйста, правильно отформатируйте свой код и укажите, в чем проблема. – Peter234

ответ

2

Используйте значение оператора сравнения вместо ==, is чеки ссылок (short answer I wrote onis и его official doc).

def sayhello(): 
    print"yo" 

bob = raw_input("What do you need?") 
if bob == "Hello": 
    sayhello() 
1

У mrdomoboto есть решение для вас. Но небольшая справочная информация никогда не бывает плохим.

is возвращает значение True, если две переменные указывают на один и тот же объект.

>>> a = [2, 3] 
>>> b = a 
>>> b is a 
True 
>>> b == a 
True 
>>> b = a[:] 
>>> b is a 
False 
>>> b == a 
True