1a,b = 'a *','b *' # use non-interned strings 2 3def and2_assign(a,b): 4 """ 5 >>> a,b = 'a *','b *' # use non-interned strings 6 >>> and2_assign(2,3) == (2 and 3) 7 True 8 >>> and2_assign('a', 'b') == ('a' and 'b') 9 True 10 >>> and2_assign(a, b) == (a and b) 11 True 12 """ 13 c = a and b 14 return c 15 16def and2(a,b): 17 """ 18 >>> and2(2,3) == (2 and 3) 19 True 20 >>> and2(0,2) == (0 and 2) 21 True 22 >>> and2('a', 'b') == ('a' and 'b') 23 True 24 >>> and2(a, b) == (a and b) 25 True 26 >>> and2('', 'b') == ('' and 'b') 27 True 28 >>> and2([], [1]) == ([] and [1]) 29 True 30 >>> and2([], [a]) == ([] and [a]) 31 True 32 """ 33 return a and b 34 35def and3(a,b,c): 36 """ 37 >>> and3(0,1,2) == (0 and 1 and 2) 38 True 39 >>> and3([],(),[1]) == ([] and () and [1]) 40 True 41 """ 42 d = a and b and c 43 return d 44 45def and2_no_result(a,b): 46 """ 47 >>> and2_no_result(2,3) 48 >>> and2_no_result(0,2) 49 >>> and2_no_result('a','b') 50 >>> and2_no_result(a,b) 51 >>> a and b 52 'b *' 53 """ 54 a and b 55 56def and2_literal(): 57 """ 58 >>> and2_literal() 59 5 60 """ 61 return True and 5 62 63def c_int_results(int x): 64 """ 65 >>> c_int_results(7) 66 (0, 0) 67 >>> c_int_results(5) 68 (1, 1) 69 """ 70 cdef int expr1, expr2, r1, r2 71 72 expr1 = x == 5 73 expr2 = 1 74 r1 = expr1 and expr2 75 76 r2 = (x==5) and 1 77 return r1, r2 78