d = {"a": 42, "b": 37, "c": 7}
d["z"]
def access_dictionary(d, k):
return d[k]
def print_values(d, keys):
for k in keys:
value = access_dictionary(d, k)
print(k, value)
def go():
d = {"a": 42, "b": 37, "c": 7}
print_values(d, ["a","b"])
print_values(d, ["a","z"])
go()
def access_dictionary(d, k):
try:
return d[k]
except KeyError:
return -1 # <-- Arbitrary default value
go()
try:
with open("names.txt") as f:
print(f.read())
except IOError as err:
print(err)
def divide(a, b):
return a / b
try:
x = divide(5, 0)
print("x is", x)
except ZeroDivisionError as err:
print("Division by zero!")
try:
x = divide(5, "foo")
print("x is", x)
except ZeroDivisionError as err:
print("Division by zero!")
try:
x = divide(5, "foo")
print("x is", x)
except TypeError as err:
print(err)
except ZeroDivisionError:
print("Division by zero!")
try:
x = divid(6, 2)
print("x is", x)
except TypeError as err:
print(err)
except ZeroDivisionError:
print("Division by zero!")
except Exception as e:
print("Unexpected Error:", e)
def safe_divide(a,b):
try:
x = divide(a, b)
print("x is", x)
except TypeError as err:
print(err)
except ZeroDivisionError:
print("Division by zero!")
except Exception as e:
print("Unexpected Error:", e)
finally:
print("divide() was called with {} and {}".format(a, b))
safe_divide(6,2)
safe_divide(6,0)
safe_divide(6, "foo")