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:
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
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
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")
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
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
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"
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"
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"
print("foo" == "foo")
print("Foo" == "foo")
print("foo" != "bar")
print(False == False)
print(5 != "5")
print(1 != True)
True False True True True False
print("aardvark" < "zebra")
print("Richards" > "Gregor")
print("Z" < "a")
True True True