Бэквудский лес. Металлодетектор

Помогите пройти уровень. Не могу разобраться.

# Артиллерия использует монеты в качестве цели.
# Ты будешь дальномером для артиллерии.

# Напиши функцию.
def coinDistance():
    # Найди ближайшую монету.
    coin = hero.distanceTo(coin)
    
    # Если видишь монету, верни расстояние до неё.
    if distance coin > 0:
    # В противном случае верни 0.
    return True
    else:
        return false
    pass

while True:
    distance = coinDistance()
    if distance > 0:
        # Сообщи расстояние.
        hero.say("message")
        pass

Сначала вы должны определить coin как предмет. Затем проверьте, существует ли coin. Если монета существует, верните hero.distanceTo (coin). В противном случае верните 0. И добавьте проход.

Вы должны сказать "distance

You first have to define coin as an item. Then check if the coin exist. If the coin exists, return “hero.distanceTo(coin)”. Else, return 0. And add a pass.

You have to say distance
Lydia

Я так тоже пробовал но мозги закипели и я потерялся. Пока не решил проблему.

# Артиллерия использует монеты в качестве цели.
# Ты будешь дальномером для артиллерии.

# Напиши функцию.
def coinDistance():
    # Найди ближайшую монету.
    coin = hero.findNearestItem(coin)
    
    if coin:
        hero.distanceTo(coin)
    # Если видишь монету, верни расстояние до неё.
    if distance coin > 0:
    # В противном случае верни 0.
    else:
        return false
    pass

while True:
    distance = coinDistance()
    if distance > 0:
        # Сообщи расстояние.
        hero.say(distance)
        pass

Замените это на

an else и под else поставьте return 0

Replace this with
an else and under else put return 0
Lydia

Что то опять не так. Я чего то не понял.

# Артиллерия использует монеты в качестве цели.
# Ты будешь дальномером для артиллерии.

# Напиши функцию.
def coinDistance():
    # Найди ближайшую монету.
    coin = hero.findNearestItem(coin)
    
    if coin:
        hero.distanceTo(coin)
    # Если видишь монету, верни расстояние до неё.
    # В противном случае верни 0.
    else:
        return 0
    pass

while True:
    distance = coinDistance()
    if distance > 0:
        # Сообщи расстояние.
        hero.say(distance)
        pass
type or paste code here

ты должен определить distance

удалить это
delete this

Добавить return Вот
add return here

Lydia

Не могу понять, что делать? Вроде бы необходимо еще расстояние указать?

# Артиллерия использует монеты в качестве цели.
# Ты будешь дальномером для артиллерии.

# Напиши функцию.
def coinDistance():
    # Найди ближайшую монету.
    coin = hero.findNearestItem(coin)
    
    if coin:
        hero.distanceTo(coin)
    # Если видишь монету, верни расстояние до неё.
    if distance > 0:
        hero.say("1")
    # В противном случае верни 0.
    else:
        return 0
    pass

while True:
    distance = coinDistance()
    if distance > 0:
        # Сообщи расстояние.
        hero.say(distance)
        pass
type or paste code here

Прямо здесь определите distance

тебе это не нужно
20 chars

Ничего не получается. ```

Артиллерия использует монеты в качестве цели.

Ты будешь дальномером для артиллерии.

Напиши функцию.

def coinDistance():
# Найди ближайшую монету.
coin = hero.findNearestItem(coin)

if coin:
    hero.distanceTo(coin) > 0
# Если видишь монету, верни расстояние до неё.
# В противном случае верни 0.
else:
    return 0
pass

while True:
distance = coinDistance()
if distance > 0:
# Сообщи расстояние.
hero.say(distance)
pass
type or paste code here

Lydia
20 characters(

Привет! Что то я влип с этим уровнем. Не могу пройти, не понимаю где нужно убрать “coin”. Совсем запутался. Куда нужно добавить return?

# Артиллерия использует монеты в качестве цели.
# Ты будешь дальномером для артиллерии.

# Напиши функцию.
def coinDistance():
    # Найди ближайшую монету.
    coin = hero.findNearestItem(coin)
    
    if coin:
        hero.distanceTo(coin) > 0 
    # Если видишь монету, верни расстояние до неё.
    # В противном случае верни 0.
    else:
        return 0
    pass

while True:
    distance = coinDistance()
    if distance > 0:
        # Сообщи расстояние.
        hero.say(distance)
        pass

Вот уже ближе к решению, но чего то не хватает.

# Артиллерия использует монеты в качестве цели.
# Ты будешь дальномером для артиллерии.

# Напиши функцию.
def coinDistance():
    # Найди ближайшую монету.
    coin = hero.findNearestItem(coin)
    
    if coin:
        hero.distanceTo(coin) > 0 
    # Если видишь монету, верни расстояние до неё.
    # В противном случае верни 0.
        return True
    else:
        return 0
    pass

while True:
    distance = coinDistance()
    if distance > 0:
        # Сообщи расстояние.
        hero.say(distance)
        pass
 

удалять

в

удалять

и изменить

к
hero.distanceTo(coin)

Lydia

В таком варианте тоже не работает. Я в чем то не прав.

# Артиллерия использует монеты в качестве цели.
# Ты будешь дальномером для артиллерии.

# Напиши функцию.
def coinDistance():
    # Найди ближайшую монету.
    coin = hero.findNearestItem()
    
    if coin:
        hero.distanceTo() > 0 
        return True
    # Если видишь монету, верни расстояние до неё.
    # В противном случае верни 0.
    else:
        return 0
    pass

while True:
    distance = coinDistance()
    if distance > 0:
        # Сообщи расстояние.
        hero.say(distance)
        pass
 

Lydia
20 characters)

Я уже в отчаянии.

# Артиллерия использует монеты в качестве цели.
# Ты будешь дальномером для артиллерии.

# Напиши функцию.
def coinDistance():
    # Найди ближайшую монету.
    coin = hero.findNearestItem()
    
    if coin:
        hero.distanceTo()
        return True
    # Если видишь монету, верни расстояние до неё.
    # В противном случае верни 0.
    else:
        return 0
    pass

while True:
    distance = coinDistance()
    if distance > 0:
        # Сообщи расстояние.
        hero.say(distance)
        pass
 

Lydia
20 characters))

1 Like

Возможно из за перевода плохо понимаю. пока не могу решить. Но знаю что в таком виде точно не будет работать. После If должно же ведь что то стоять.

Артиллерия использует монеты в качестве цели.

Ты будешь дальномером для артиллерии.

Напиши функцию.

def coinDistance():
# Найди ближайшую монету.
coin = hero.findNearestItem()

if coin:
    
# Если видишь монету, верни расстояние до неё.
# В противном случае верни 0.
else:
    return 0
pass

while True:
distance = coinDistance()
if distance > 0:
# Сообщи расстояние.
hero.say(distance)
pass