Sterowanie robopsem za pomocą pętli while w Pythonie

0

Cześć wszystkim!
Czy ktoś może mi pomóc?
Pozdrawiam serdecznie :)

Zadanie w Pythonie:
Robopies D500™ szkolony do uzupełniania towaru w automatach z batonami wyposażony jest w trzy czujniki odległości: jeden z przodu i dwa po bokach. Robot jest we wstępnej fazie testów, dlatego na razie może poruszać się jedynie do przodu oraz obracać się w prawo lub w lewo o 90o.

Twoim zadaniem jest zaprogramowanie D500™ w taki sposób, aby zdołał opuścić budynek, w którym się znajduje. Do pokonania ma korytarz o szerokości 2 metrów, który nigdzie nie rozwidla się i ma zakręty jedynie pod kątem prostym. Robot powinien zatrzymać się od razu po opuszczeniu budynku. Na zewnątrz budynku jest otwarta przestrzeń, bez żadnych przeszkód w promieniu co najmniej 50 metrów.

Robotem możesz sterować za pomocą funkcji:
move() - powoduje jazdę do przodu na odległość pół metra
turnL() - powoduje obrót w lewo o 90o
turnR() - powoduje obrót w prawo o 90o

Wskazania czujników zwracają funkcje:
front() - zwraca odległość do przeszkody z przodu robota w centymetrach
left() - zwraca odległość do przeszkody z lewej strony robota w centymetrach
right() - zwraca odległość do przeszkody z prawej strony robota w centymetrach

Uzupełnij funkcję route() tak, aby D500™ opuścił budynek

Zaczyna się tak:
def route():

2

I gdzie dokładnie jest problem? To jest coś na poziomie Colobota, gry dla małych dzieci. Dziecko w podstawówce powinno spokojnie poradzić sobie z napisaniem tego kodu.
Jedziesz do przodu aż nie trafisz na przeszkodę przed sobą, potem sprawdzasz czy z prawej albo z lewej jest wolne miejsce i zakręcasz w tym kierunku a potem jedziesz dalej.

0
def route():
    wykonuj zawsze:
        jeśli front() jest większy od 50:
            break
        jeśli front() jest większy od 0.5:
            move()
            continue
        w innym wypadku jesli left() jest większy od 0.5:
            tunrL()
            move()
         w innym wypadku jesli right() jest większy od 0.5:
             turnR()
             move()

Jeśli się nie pomyliłem, to coś takiego

0

@Dregorio: Bardzo dziękuję za odpowiedź! Spróbuję tego sposobu. Dopiero zaczynam, więc nieraz utknę...;)
Pozdrawiam:)

0

@Shalom: Poczatkującym nie jest łatwo... Spróbuję do skutku:)
Pozdrawiam

1 użytkowników online, w tym zalogowanych: 0, gości: 1