Q1
def add(a, b):
"Return the sum of a and b"
"*** YOUR CODE HERE ***"
return a + b
# return 0
Q2
def buyLotsOfFruit(orderList):
"""
orderList: List of (fruit, numPounds) tuples
Returns cost of order
"""
totalCost = 0.0
"*** YOUR CODE HERE ***"
for cur_fruit, cur_price in orderList:
totalCost += cur_price * fruitPrices[cur_fruit]
return totalCost
Q3
def shopSmart(orderList, fruitShops):
"""
orderList: List of (fruit, numPound) tuples
fruitShops: List of FruitShops
"""
"*** YOUR CODE HERE ***"
all_shops_cost = [shop.getPriceOfOrder(orderList) for shop in fruitShops]
idx = all_shops_cost.index(min(all_shops_cost))
return fruitShops[idx]
对Q3,第一行,先对fruitShops做列表解析,遍历每一个shop,并使用getPriceOfOrder()
方法得到在该shop购物所需的总价。第二行,使用列表的index
方法求出列表中元素最小值对应的下标(若有多个最小值,取第一个)。第三行,由下标获取shop对象并返回。