Здравствуйте!
Помогите пожалуйста. Нужно написать функцию, которая делает то же самое, что и конструкция if.
Буду рада любой помощи.
[user@localhost ~] $ python Python 2.7.8 (default, Nov 10 2014, 08:19:18) [GCC 4.9.2 20141101 (Red Hat 4.9.2-1)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> def func1(): ... print(1) ... >>> def func2(): ... print(2) ... >>> def newif(sign, x, y): ... return not(cmp(sign, '=') or cmp(x, y)) or not (cmp(sign, '>') or cmp(x, y) - 1) or not (cmp(sign, '<') or cmp(x, y) + 1) ... >>> {True : func1, False : func2}[newif('=', 1, 1)]() 1 >>> {True : func1, False : func2}[newif('=', 1, 2)]() 2 >>> {True : func1, False : func2}[newif('<', 1, 2)]() 1 >>> {True : func1, False : func2}[newif('<', 2, 2)]() 2 >>> {True : func1, False : func2}[newif('>', 2, 2)]() 2 >>> {True : func1, False : func2}[newif('>', 3, 2)]() 1
>>> {True : func1, False : func2}[1 == 1]() 1