(Python) Что касается следующего вопроса, в чем разница между Option (A) и Option (C)?
Я столкнулся с этим вопросом во время прохождения онлайн-курса. Правильный ответ - вариант (C), однако, почему я не могу выбрать вариант (A)? Какой нюанс между этими двумя вариантами?
---> Предположим, мы хотели создать класс PolarBearDrunk, пьяного белого медведя, который случайным образом перемещается вдоль осей x и y, делая большие шаги при движении на юг, и маленькие шаги при движении на север.
class PolarBearDrunk(Drunk):
def takeStep(self):
# code for takeStep()
Что из следующего будет подходящей реализацией takeStep()?
Вариант А)
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
Вариант Б)
directionList = [(0.0, 0.5), (1.0, -0.5), (-1.0, -0.5), (0.0, -1.5)]
return random.choice(directionList)
Вариант С)
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)
1 ответ
Решение
+
Оператор для кортежей (как в варианте A) означает конкатенацию:
(0.0, 1.0) + (0.0, -0.5) == (0.0, 1.0, 0.0, -0.5)