1

我在学习在线课程时遇到了这个问题。正确答案是选项(C),但是,为什么我不能选择选项(A)?这两个选项之间的细微差别是什么?

---> 假设我们要创建一个 PolarBearDrunk 类,它是一只醉酒的北极熊,它沿着 x 和 y 轴随机移动,向南移动时大步,向北移动时小步。

class PolarBearDrunk(Drunk):
    def takeStep(self):
        # code for takeStep()

以下哪项是 takeStep() 的适当实现?

选项 A)

directionList = [(0.0, 1.0), (1.0, 0.0), (-1.0, 0.0), (0.0, -1.0)]
myDirection = random.choice(directionList)
if myDirection[0] == 0.0:
    return myDirection + (0.0, -0.5)
return myDirection

选项 B)

directionList = [(0.0, 0.5), (1.0, -0.5), (-1.0, -0.5), (0.0, -1.5)]
return random.choice(directionList)

选项 C)

directionList = [(0.0, 0.5), (1.0, 0.0), (-1.0, 0.0), (0.0, -1.5)]
return random.choice(directionList)

选项 D)

directionList = [(0.0, 1.0), (1.0, 0.0), (-1.0, 0.0), (0.0, -1.0), (0.0, -1.0)]
return random.choice(directionList)
4

1 回答 1

3

+元组上的运算符(如选项 A)表示连接:

(0.0, 1.0) + (0.0, -0.5) == (0.0, 1.0, 0.0, -0.5)

于 2018-10-16T14:38:48.017 回答