Athróga#
Réamhrá#
Stórálann athróga sonraí agus ligeann siad duit iad a athúsáid agus a ionramháil ar fud do chláir. Is teanga chlóscríofa go dinimiciúil í Python, rud a chiallaíonn nach gá duit cineál athróige a dhearbhú go sainráite. Ina áit sin, déantar an cineál a asbhaint go huathoibríoch bunaithe ar an luach a shanntar dó. Mar shampla:
angle = 90 # angle is an integer
dist = "Distance: " # dist is a string
steps = 2.5 # steps is a float
Tá clóscríobh láidir ag Python freisin, rud a chiallaíonn nach féidir leat oibríochtaí a dhéanamh ar chineálacha neamh-chomhoiriúnacha gan iad a thiontú go sainráite. Mar shampla:
controller = 1 # controller is an integer
modules = "3" # modules is a string
result = controller + modules # Creates a TypeError
Chun fadhbanna den sórt sin a réiteach, ní mór duit na cineálacha a thiontú go sainráite, más iomchuí:
controller = 1 # controller is an integer
modules = "3" # modules is a string
# Convert modules to an integer before adding.
result = int(modules) + controller
Míníonn an API seo cineálacha athróg coitianta i Python. Cé nach liosta uileghabhálach é, clúdaíonn sé na cineálacha is dóichí a úsáidfidh tú i gcleachtas.
Athróga áitiúla – Dearbhaithe laistigh de fheidhm agus úsáidte laistigh den raon feidhme sin amháin; is fearr iad le haghaidh luachanna sealadacha nó aonraithe.
Athróga domhanda – Dearbhaítear iad lasmuigh d’aon fheidhm agus úsáidtear iad ar fud an tionscadail; tá siad go maith chun sonraí a roinnt idir feidhmeanna.
Slánuimhir – Uimhreacha iomlána a úsáidtear le haghaidh comhaireamh, achair, nó aon rud gan deachúlacha.
Snámhphointe – Uimhreacha le pointí deachúlacha, úsáideach le haghaidh tomhais nó ríomhanna beachta.
Teaghrán – Luachanna téacs, a úsáidtear le haghaidh teachtaireachtaí, lipéid, nó chun aschur inléite a thaispeáint.
Boolean –
TruenóFalseluach le haghaidh loighic agus cinnteoireachta.GanChineál – Léiríonn sé easpa luacha i Python.
Raon – Gineann sé seo seichimh uimhreacha go huathoibríoch, a úsáidtear den chuid is mó i lúba.
Liosta – Bailiúchán míreanna inathraithe; maith chun grúpaí luachanna cosúil le rudaí nó léamha braiteoirí a stóráil.
Liosta 2T – Liosta liostaí; oiriúnach chun sraitheanna, greillí, nó sonraí cosúil le táblaí a léiriú.
Tuple – Seicheamh seasta luachanna nach féidir a athrú; úsáideach le haghaidh sonraí grúpáilte, gan athrú.
Athróg a Dhearbhú agus a Shannadh#
Chun athróg a chruthú, níl le déanamh ach luach a shannadh d’ainm ag baint úsáide as an oibreoir =:
distance = 100
Agus athróg á hainmniú, ní mór cloí leis na rialacha seo a leanas:
Ní féidir carachtair speisialta (m.sh., pointe eascráite) a bheith san ainm.
Ní féidir leis an ainm tosú le huimhir.
Ní féidir spásanna a úsáid san ainm.
Ní féidir leis an ainm a bheith ina fhocal atá curtha in áirithe i VEXcode (m.sh. Drivetrain).
Local Variables#
Sainmhínítear athróga áitiúla laistigh de fheidhm nó de bhloc cóid. Ní féidir rochtain a fháil orthu ach amháin laistigh de raon feidhme na feidhme nó an bhloic sin agus ní féidir iad a fheiceáil lasmuigh de.
def show_local():
# This variable only exists inside this function.
message = "I'm local!"
controller.screen.print(message)
show_local()
Úsáidtear athróga áitiúla go coitianta chun luachanna sealadacha a stóráil nach bhfuil ábhartha ach laistigh de fheidhm nó de chuid den chlár.
Global Variables#
Sainmhínítear athróga domhanda lasmuigh d’aon fheidhm nó bloc. Is féidir rochtain a fháil orthu agus iad a léamh áit ar bith sa chlár, lena n-áirítear taobh istigh de fheidhmeanna.
Nóta: Is féidir athróg dhomhanda a úsáid in áit ar bith i do thionscadal. Is féidir leis seo a bheith cabhrach, ach is féidir leis fabhtanna a dhéanamh níos deacra a aimsiú freisin. Má athraíonn an luach, b’fhéidir go mbeidh ort go leor codanna den tionscadal a sheiceáil chun a fheiceáil cá n-athraíodh sé. Bain úsáid as athróg áitiúil nuair nach bhfuil an luach ag teastáil ach ó fheidhm amháin.
# The variable is defined outside a function.
message = "I'm global!"
def show_global():
# You can access 'message' inside a function.
controller.screen.print(message)
controller.screen.next_row()
show_global()
# And you can access 'message' outside a function.
controller.screen.print(message)
De réir réamhshocraithe, cruthaítear athróg áitiúil nuair a shanntar luach d’athróg laistigh de fheidhm. Chun athróg dhomhanda laistigh de fheidhm a mhodhnú, ní mór duit í a dhearbhú go sainráite ag baint úsáide as an eochairfhocal global.
# Define the global variable.
count = 0
def increase_count():
# Use the global keyword to let you modify the
# global variable.
global count
count = count + 1
controller.screen.print(f"Count: {count}")
controller.screen.next_row()
increase_count()
increase_count()
Cineálacha Sonraí#
Is féidir le hathróga Python cineálacha éagsúla sonraí a stóráil, agus gach ceann acu oiriúnach do chásanna úsáide éagsúla. Seo a leanas na cineálacha is coitianta a úsáidtear:
Integer#
Is uimhir dhearfach nó dhiúltach í slánuimhir.
distance = 50
drone.take_off(climb_to=500)
# Move the robot forward for the variable value in mm.
drone.climb_for(direction=DOWN, distance=distance, velocity=50, units=MM)
wait(2, SECONDS)
# Add to the variable and move forward the new value,
# for 100mm total.
distance = distance + 50
drone.climb_for(direction=UP, distance=distance, velocity=50, units=MM)
wait(2, SECONDS)
drone.land()
Float#
Is uimhir phointe deachúil í snámhphointe.
# Store a value with decimal points.
raw_value = 0.88
# Print the decimal value as a percentage.
controller.screen.print(raw_value * 100, "%")
String#
Is sraith carachtar é teaghrán, a úsáidtear go coitianta le haghaidh téacs.
# Set the variable to a string then print the string.
message = "Ready!"
controller.screen.print(message)
Nóta: Caithfidh teaghrán a bheith i gcónaí idir comharthaí athfhriotail comhoiriúnacha, bíodh sé singil ( ’ ) nó dúbailte ( ” ). Is féidir leat ceachtar stíl a úsáid, ach ní mór go mbeadh na comharthaí oscailte agus deiridh comhoiriúnach.
Boolean#
Seasann Booléanach do True nó False.
# Set the state of the variable.
delivered = False
# Print different messages depending on the Boolean.
if delivered:
controller.screen.print("Package delivered!")
else:
controller.screen.print("Delivering...")
Is féidir Booleans a athrú ag aon phointe sa tionscadal.
# Print the value of the delivered variable
delivered = True
controller.screen.print(delivered)
wait(2,SECONDS)
# Clear the screen and print the value of the variable again
controller.screen.clear_screen(color=GREEN)
delivered = False
controller.screen.print(delivered)
NoneType#
Léiríonn NoneType easpa luacha i Python.
# Write what the controller's task should be as a string
current_task = None
# Check if a task is assigned
if current_task is None:
controller.screen.print("No task!")
else:
controller.screen.print(f"Task: {current_task}")
Range#
Is sraith uimhreacha é raon, a úsáidtear go coitianta i lúba chun sraitheanna uimhriúla a ghiniúint. Leanann sé an fhormáid seo a leanas:
range(start, stop, step)
Comhpháirteanna |
Cur síos |
|---|---|
|
Roghnach. Tá an luach tosaigh uilechuimsitheach (tosaíonn an seicheamh anseo). Is é 0 an réamhshocrú. |
|
Tá an luach stad eisiach (stadann an seicheamh roimh an uimhir seo). |
|
Roghnach. Cinneann an chéim cé mhéad a mhéadaíonn (nó a laghdaíonn) gach uimhir. Is é 1 an réamhshocrú. |
# 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()
# Count by 2 starting at 1 and ending before 12.
for index in range(1, 12, 2):
# Print the values on the screen with each loop.
controller.screen.print(index)
controller.screen.next_row()
List#
Stórálann liosta grúpa míreanna in aon athróg amháin. Is féidir leat míreanna a chur leis, míreanna a bhaint, míreanna a athrú, nó gach mír a úsáid ceann ar cheann i do thionscadal. Tá liostaí úsáideach nuair is mian leat luachanna gaolmhara a choinneáil le chéile, amhail léamha braiteoirí, dathanna, nó ainmneacha réad. Cruthaítear liostaí ag baint úsáide as lúibíní cearnacha [].
# Define a list of colors.
colors = ["Red", "Green", "Blue"]
# Repeat for the number of items in the colors list.
for color in colors:
# Print each color in order
controller.screen.print(color)
controller.screen.next_row()
Úsáid append leis chun míreanna a chur le liosta.
# Define a list of colors.
colors = ["Red", "Green", "Blue"]
# Append a new color to the list.
colors.append("Yellow")
# Repeat for the number of items in the colors list.
for color in colors:
# Print each color in order
controller.screen.print(color)
controller.screen.next_row()
2D List#
Úsáidtear liosta 2T, nó liosta liostaí, go coitianta chun greillí, táblaí nó maitrísí a léiriú. Seasann gach fo-liosta do shraith nó do ghrúpáil shonrach sonraí.
# Assign the values in the matrix 2D list.
matrix = [
["A", 1, "Red"],
["B", 2, "Orange"],
["C", 3, "Yellow"]
]
# Loop through each row.
for row in matrix:
# Loop through each column in the row.
for element in row:
controller.screen.print(element, end=", ")
controller.screen.next_row()
Is féidir leat eilimintí sonracha nó fiú fo-liostaí iomlána a mhodhnú laistigh de liosta 2T:
# Assign the values in the matrix 2D list.
matrix = [
["A", 1, "Red"],
["B", 2, "Orange"],
["C", 3, "Yellow"]
]
# Modify the color (in column 2) in row 0.
matrix[0][2] = "Blue"
# Print the modified row from the matrix 2D list.
controller.screen.print(matrix[0])
Tuple#
Is sraith míreanna é tuple nach féidir a athrú tar éis a gcruthaithe. Is minic a úsáidtear iad chun luachanna gaolmhara a ghrúpáil le chéile.
# Define a tuple.
set_1 = (100, "Left")
# Print the tuple.
controller.screen.print(set_1)
Cruthaítear tuplaí ag baint úsáide as lúibíní () seachas lúibíní cearnacha [].