Форум сайта python.su
0
Здравствуйте! Помогите пожалуйста разобраться с некорректно работающей конструкцией if else:
b = {} if "orange" and not "lime" in b: print "orange" elif "orange" and "lime" in b: print "both" elif "lime" and not "orange" in b: print "lime" else: print "NO one"
Офлайн
24
Почему некорректное ? Читайте книгу. Непустая строка кастится к True.
Офлайн
5
В вашем примере билиберда со сравнениями.
В сравнении:
>>>'orange' and 'lime' 'lime' >>>
b = {} if ('orange' in b) and ('lime' not in b): print 'orange' elif ('orange' in b) and ('lime' in b): print 'both' elif ('lime' in b) and ('orange' not in b): print 'lime' else: print 'no one'
Офлайн
0
Спасибо
Офлайн