In [ ]:
def greatest(a: float, b: float, c: float, d: float) -> float:
    if a > b:
        if a > c:
            if a > d:
                return a
            else: # a > b, a > c, a <= d
                return d
        else:
            if c > d:
In [ ]:
import math

def greatest(a: float, b: float, c: float, d: float) -> float:
    """
    Returns the greatest value among a, b, c, d.
    """
    if a > b and a > c and a > d:
        return a
    elif b > c and b > d:
        return b
    elif c > d:
        return c
    else:
        return d
    
print(greatest(math.pi, math.e, math.sqrt(2), -42))
3.141592653589793
In [ ]:
def multiOp(x: float, y: float, op: int) -> float:
    if opInRange(op):
        if op == 0:
            return x + y
        elif op == 1:
            return x - y
        return x * y
    else:
        return -1
    
def opInRange(op: int) -> bool:
    return op >= 0 and op <= 2

if not opInRange(-1):
    print("-1 is not in range")
-1 is not in range
In [ ]:
def isEven(n: int) -> bool:
    """
    Returns True if n is even, False otherwise.
    """
    #if n % 2 == 0:
    #    return True
    #else:
    #    return False
    #print("Entering and exiting isEven")
    return n % 2 == 0

if isEven(43):
    print("It's even")
In [ ]:
def printEvenness(v: int) -> None:
    """
    Print v "is even" if v is even, or v "is odd" otherwise.
    """
    if isEven(v):
        print(v, "is even")
    else:
        print(v, "is odd")
        
printEvenness(42)
printEvenness(-43)
42 is even
-43 is odd
In [ ]:
def describeEvenness(v: int) -> str:
    """
    Returns "even" if v is even, "odd" otherwise.
    """
    #print("Entering describeEvenness")
    if isEven(v):
        #print("Exiting describeEvenness (even)")
        return "even"
    else:
        #print("Exiting describeEvenness (odd)")
        return "odd"
    
def printEvenness(v: int) -> None:
    """
    Print v "is even" if v is even, or v "is odd" otherwise.
    """
    #print("Entering printEvenness")
    print(v, "is", describeEvenness(v))
    #print("Exiting printEvenness")

printEvenness(42)
printEvenness(-43)
42 is even
-43 is odd
In [ ]:
def numberCategory(v: float) -> str:
    """
    Returns the category of v, among these four categories:
     * Even integer ("even")
     * odd integer ("odd")
     * negative non-integer ("neg")
     * positive non-integer ("pos")
    """
    if int(v) == v:
        return describeEvenness(int(v))
    else: # it's not an integer
        if v < 0:
            return "neg"
        else:
            return "pos"
        
    
assert numberCategory(0) == "even", "0 is even"
assert numberCategory(-43) == "odd", "-43 is odd"
assert numberCategory(math.pi) == "pos", "pi is positive"
assert numberCategory(-1/12) == "neg", "-1/12 is negative"
In [ ]:
def numberCategory(v: float) -> str:
    """
    Returns the category of v, among these four categories:
     * Even integer ("even")
     * odd integer ("odd")
     * negative non-integer ("neg")
     * positive non-integer ("pos")
    """
    if int(v) == v:
        return describeEvenness(int(v))
    elif v < 0:
        return "neg"
    else:
        return "pos"
        
    
assert numberCategory(0) == "even", "0 is even"
assert numberCategory(-43) == "odd", "-43 is odd"
assert numberCategory(math.pi) == "pos", "pi is positive"
assert numberCategory(-1/12) == "neg", "-1/12 is negative"
In [ ]:
def numberCategory(v: float) -> str:
    """
    Returns the category of v, among these four categories:
     * Even integer ("even")
     * odd integer ("odd")
     * negative non-integer ("neg")
     * positive non-integer ("pos")
    """
    if int(v) == v and v%2 == 0:
        return "even"
    elif int(v) == v:
        return "odd"
    elif v < 0:
        return "neg"
    else:
        return "pos"
        
    
assert numberCategory(0) == "even", "0 is even"
assert numberCategory(-43) == "odd", "-43 is odd"
assert numberCategory(math.pi) == "pos", "pi is positive"
assert numberCategory(-1/12) == "neg", "-1/12 is negative"
In [ ]:
print("foo" == "foo")
print("Foo" == "foo")
print("foo" != "bar")
print(False == False)
print(5 != "5")
print(1 != True)
True
False
True
True
True
False
In [ ]:
print("aardvark" < "zebra")
print("Richards" > "Gregor")
print("Z" < "a")
True
True
True