Rialú#

Réamhrá#

Ligeann rialú i Python duit a insint don róbat cathain is ceart fanacht, cathain is ceart gníomhartha a athdhéanamh, conas cinntí a dhéanamh, agus cathain is ceart an tionscadal a chríochnú.

Seo thíos liosta de na rialuithe atá ar fáil, lena n-áirítear modhanna agus eochairfhocail lárnacha Python:

  • wait – Cuireann sé seo an tionscadal ar sos ar feadh tréimhse áirithe.

  • for – Déanann sé cód a athdhéanamh do gach mír i seicheamh.

  • if – Ritheann sé cód má tá coinníoll fíor.

  • if/else – Ritheann sé cód difriúil ag brath ar choinníoll.

  • if/elif/else – Seiceálann sé ilchoinníollacha in ord.

  • while – Déanann sé an cód a athdhéanamh fad is atá coinníoll fíor.

  • break – Fágann sé lúb láithreach.

  • quit – Críochnaíonn sé an tionscadal atá ar siúl.

  • pass – Úsáidtear áitchoimeádán nuair nach bhfuil aon ghníomh ag teastáil.

wait#

wait sos ar feadh tréimhse áirithe ama sula mbogann sé go dtí an chéad líne eile de chód.

Usage:
wait(time, units)

Paraiméadair

Cur síos

time

An méid ama le fanacht, mar shlánuimhir dhearfach nó deachúil.

units

An t-aonad a léiríonn an t-am feithimh: MSEC (réamhshocraithe) – milleasoicindí, nó SECONDS

# Fly for 1 second.
drone.take_off(climb_to=500)
wait(1, SECONDS)
drone.land()

for#

Déanann for sraith gníomhartha a athdhéanamh líon áirithe uaireanta. Is féidir for a úsáid chun lúb a dhéanamh trí mhíreanna i liostaí, i dtupail, i bhfoclóirí, i dtacair, i dteaghráin, nó ar feadh líon áirithe lúb le range.

Úsáid:

for value in expression_list:
    pass

Comhpháirteanna

Cur síos

value

Athróg shealadach a stórálann an eilimint reatha san athrá.

expression_list

An bailiúchán eilimintí atá á lúbadh tríd (m.sh., liosta, teaghrán, raon).

# Move back and forth four times then land.
drone.take_off(climb_to=500)
for i in range(4):
    drone.move_for(direction=0, distance=500, velocity=50, units=MM)
    wait(1, SECONDS)
    drone.move_for(direction=180, distance=500, velocity=50, units=MM)
    wait(1, SECONDS)
drone.land()

# Print each item in a list.
colors = ["Red", "Green", "Blue"]
for color in colors:
    controller.screen.print(color)
    controller.screen.next_row()

if#

if an bloc cóid eangaithe má tá an coinníoll True.

Úsáid:

if condition:
    pass

Comhpháirteanna

Cur síos

condition

Slonn nó athróg a dhéantar a sheiceáil nuair a ritheann an ráiteas. Más Trueé, déantar an cód taobh istigh den bhloc if a fhorghníomhú; más Falseé, scipeáiltear an bloc.

# Take a picture when button 5 is pressed.
drone.take_off(climb_to=500)
while True:
    # Move with controller
    drone.move_with_vectors(
        forward=controller.axis4.position(),
        rightward=controller.axis3.position(),
        upward=controller.axis1.position(),
        rotation=controller.axis2.position()
    )

    if controller.button5.pressing():
        drone.camera.capture_image(FORWARD_CAMERA)

    wait(5, MSEC)

if/else#

if agus else ann, cinneann siad cé acu bloc cóid eangaithe a ritheann bunaithe ar cibé an bhfuil an coinníoll True nó False.

Úsáid:

if condition:
    pass
else:
    pass

Comhpháirteanna

Cur síos

condition

Slonn nó athróg a sheiceáiltear nuair a ritheann an ráiteas. Más Trueé, forghníomhaítear an cód taobh istigh den bhloc if ann; más Falseé, forghníomhaítear an cód taobh istigh den bhloc else ina ionad.

# Climb when the left joystick is moved up.
drone.take_off(climb_to=500)
while True:
    if controller.axis1.position() > 0:
        drone.climb(direction=UP, velocity=50)
    else:
        drone.hover()
    wait(5, MSEC)

if/elif/else#

Roghnaíonn an struchtúr if/elif/else cén bloc cóid atá á rith bunaithe ar choinníollacha:

  • if a bhloc má tá an coinníoll True.

  • elif coinníollacha breise ach amháin má tá na coinníollacha roimhe seo go léir FalseIs féidir ilráitis elif a úsáid.

  • else a bhloc ach amháin mura bhfuil aon cheann de na coinníollacha roimhe seo True.

Úsáid:

if condition:
    pass
elif condition:
    pass
else:
    pass

Comhpháirteanna

Cur síos

condition

Slonn nó athróg a dhéantar a sheiceáil nuair a ritheann an ráiteas. Is é an chéad choinníoll, arb ionann é agus True a chinneann cé acu bloc a fhorghníomhaítear; mura bhfuil aon cheann acu True, ritheann an else.

# Move the drone up or down based on the position of the joystick.
drone.take_off(climb_to=500)
while True:
    position = controller.axis1.position()
    if position > 0:
        drone.climb(direction=UP, velocity=50)
    elif position < 0:
        drone.climb(direction=DOWN, velocity=50)
    else:
        drone.hover()
    wait(5, MSEC)

while#

while ag rith cód arís agus arís eile chomh fada agus atá an coinníoll TrueIs féidir é a úsáid freisin mar “go deo” trí True a úsáid mar an gcoinníoll, nó “fan go dtí” trí not , mar a thaispeántar sna samplaí thíos.

Úsáid:

while condition:
    pass

Comhpháirteanna

Cur síos

condition

Slonn nó athróg a dhéantar a sheiceáil roimh gach athrá. Más Trueé, leanann an lúb ar aghaidh; más Falseé, stopann an lúb.

# Hover at 200 mm.
drone.take_off(climb_to=500)
while drone.range.get_distance(DOWNWARD_RANGE, MM) > 200:
    drone.climb(direction=DOWN, velocity=10)
drone.hover()
wait(3, SECONDS)
drone.land()

break#

Fágann break lúb láithreach. Is féidir break a úsáid chun lúba a fhágáil a mbeadh lúbadh go deo acu murach sin.

# Land when button 5 is pressed.
drone.take_off(climb_to=500)
while True:
    # Move with controller
    drone.move_with_vectors(
        forward=controller.axis4.position(),
        rightward=controller.axis3.position(),
        upward=controller.axis1.position(),
        rotation=controller.axis2.position()
    )
    if controller.button5.pressing():
        break
    wait(5, MSEC)
drone.land()

quit#

quit críochnaíonn tionscadal atá ar siúl.

Usage:
quit()

Paraiméadair

Cur síos

Níl aon pharaiméadair ag an modh seo.

# Land when button 5 is pressed.
drone.take_off(climb_to=500)
while True:
    # Move with controller
    drone.move_with_vectors(
        forward=controller.axis4.position(),
        rightward=controller.axis3.position(),
        upward=controller.axis1.position(),
        rotation=controller.axis2.position()
    )
    if controller.button5.pressing():
        quit()
    wait(5, MSEC)
drone.land()

pass#

Is áitchoinneálaí é pass do chód amach anseo agus is féidir é a úsáid chun earráidí i lúba folamh, i gcoinníollaigh agus i bhfeidhmeanna a sheachaint.

if condition:
    pass

def function():
    pass