Вы путаете печать с консоли с возвратом значения. Ваша функция неявно возвращает None
, если вы ничего не возвращаете из нее, поэтому она никогда не будет равна 'hi'
. Ваш b()
печатает - и не возвращает 'hi'
def b():
print("hi") # maybe uncomment it if you do not want to print it here
return "hi" # fix like this (which makes not much sense but well :o)
def c():
return True
if b() == 'hi':
print("Done")
Вы можете проверить это так:
def test():
pass
print(test())
Выходы:
None
Дополнительные показания:
Еще одна важная вещь для чтения: Как отлаживать небольшие программы (# 1) - он дает советы о том, как самостоятельно исправить код и найти ошибки путем отладки.