Content
Altres seccionsAquest article us mostrarà com crear un programa de compte enrere senzill amb el llenguatge de programació Python. Aquest és un bon exercici per a un principiant que vulgui aprendre sobre bucles i mòduls mentre que. Tanmateix, ja hauríeu de tenir certa familiaritat amb els conceptes bàsics de Python, com ara variables, per entendre-ho.
També cal tenir instal·lat Python 3. Si encara no ho heu fet, seguiu les instruccions de Com instal·lar Python abans de continuar.
Passos
- Obriu el vostre editor de text o IDE. Al Windows, l'opció més senzilla és utilitzar IDLE, que s'instal·la juntament amb Python.
-
Obriu un fitxer nou. En molts editors de text, podeu fer-ho anant al menú de fitxers i fent clic a Finestra nova o simplement prement Ctrl+N. -
Importeu el fitxermòdul de temps.
Eltime conté moltes funcions de Python relacionades amb el temps, per exemple obtenir l'hora actual o esperar un temps especificat (això és el que necessitareu per a aquest programa). Per importar el mòdul, escriviu:
-
Definiu una funció de compte enrere. Podeu donar a la funció el nom que vulgueu, però normalment haureu d’utilitzar alguna cosa descriptiu. En aquest cas, es podria anomenar compte enrere (). Afegiu el codi següent: - Escriu un bucle de temps. Un bucle mentre es repeteix el codi dins seu sempre que la seva condició sigui certa. En aquest cas, voleu que el compte enrere continuï fins que el nombre arribi a 0. Per tant, heu d’escriure:
- Fixeu-vos en els espais al començament de la línia. Aquests diuen a Python que aquesta línia de codi forma part de la definició del fitxer
funció de compte enrere, i no només algun codi que hi ha a sota. Podeu utilitzar qualsevol nombre d'espais, però heu d'utilitzar la mateixa quantitat abans que qualsevol línia que vulgueu sagnar una vegada.
- Haureu de sagnar les línies de codi següents dues vegades, ja que formen part de la definició de la funció i del bucle while. Això es fa utilitzant el doble d’espais.
- Fixeu-vos en els espais al començament de la línia. Aquests diuen a Python que aquesta línia de codi forma part de la definició del fitxer
- Imprimiu el número actual. Això no vol dir utilitzar una impressora per obtenir-la en paper, "imprimir" és una paraula que significa "mostrar a la pantalla". Això us permetrà veure fins a quin punt ha avançat el compte enrere.
- Compte enrere el número. Feu-ne 1 menys. Això es fa amb el codi següent:
Si no voleu escriure tant, podeu escriure: - Feu que el programa esperi un segon. En cas contrari, seria el compte enrere dels números massa ràpid i el compte enrere s’acabaria fins que fins i tot el poguéssiu llegir. Per esperar un segon, utilitzeu el fitxer
funció de son del
mòdul de temps que havíeu importat anteriorment:
- Feu alguna cosa quan el compte enrere arribi a zero. Per imprimir "BLAST OFF!" quan el compte enrere arriba a zero, afegiu aquesta línia:
- Tingueu en compte que aquesta línia només està sagnada un cop. Això es deu al fet que ja no forma part del bucle while. Aquest codi només s’executa un cop finalitzat el bucle while.
- Pregunteu a l'usuari des de quin número ha d'iniciar el compte enrere. Això donarà al vostre programa certa flexibilitat, en lloc de comptar sempre amb el mateix nombre.
- Imprimiu la pregunta a l'usuari. Han de saber a què se suposa que han d’entrar.
- Obteniu la resposta. Emmagatzemeu la resposta en una variable perquè pugueu fer-hi alguna cosa més endavant.
- Tot i que la resposta de l’usuari no és un nombre enter, demaneu-li un altre enter. Podeu fer-ho amb un bucle while. Si la primera resposta ja és un nombre enter, el programa no entrarà al bucle i només procedirà amb el següent codi.
- Ara podeu estar segur que l'usuari ha introduït un nombre enter. Tot i això, encara s’emmagatzema dins d’una cadena (
input () sempre retorna una cadena, perquè no pot saber si l’usuari introduirà text o números. Cal convertir-lo en un enter:
Si hagueu provat de convertir una cadena el contingut del qual no sigui un enter en un enter, obtindreu un error. Aquesta és la raó per la qual el programa va comprovar si la resposta era realment un nombre enter primer.
- Truqueu al
funció countdown ().
L’havíeu definit prèviament, però definir una funció no fa el que hi ha escrit. Per executar el codi del compte enrere, truqueu alfunció countdown () amb el nombre de segons que l'usuari ha introduït:
- Comproveu el codi acabat. Hauria de ser així:
- Les línies buides només hi són per facilitar la lectura del codi. No són obligatoris i Python en fa cas omís.
- Podeu escriure t = t - 1 en lloc de t - = 1 si ho prefereixes.
Preguntes i respostes de la comunitat
Com puc imprimir a cada segon en lloc de fer-ho imprimir tot alhora?
Utilitzeu la funció time.sleep (x). Permet que el programa faci una pausa durant x segons. Després de cada declaració d'impressió, inseriu time.sleep (1).
Com puc fer que la font sigui més gran a Python en un Mac?
A l'intèrpret d'ordres de Python, feu clic a Opcions, Configura, Inactiu. A partir d’aquí podeu canviar la mida de la lletra.
Per què té el mòdul "temps" si no s'utilitza mai?
Si escriviu un programa per, per exemple, un robot i teniu els servocontrols en mil·lisegons, utilitzarà el mòdul de temps per enviar el senyal elèctric durant el temps adequat.
Segueixo rebent el següent error: "s'esperava un bloc amb sagnat". Què he fet malament?
Heu de prémer la tecla "Tab" per sagnar, de manera que si feu un bucle "si". faria: si a = b: print ("El sagnat és l'espai abans d'imprimir")
Vull imprimir l’hora a la pantalla de vídeo. Que hauria de fer?
Suposo que voleu dir la finestra de gràfics de tortuga de pitó. Si estic correcte, hauríeu d'utilitzar la funció "write ()" en lloc de "print ()". Aleshores hauríeu d'afegir "clear ()" perquè "write ()" no canvia les línies automàticament. En cas contrari, podríeu moure la posició de la vostra tortuga. Per utilitzar la funció "write ()", també heu d'afegir "des de la importació de tortugues *".
Estic fent servir LiClipse i, en carregar el codi, es carrega, però no passa res. La sagnia està bé i l'únic que he canviat és canviar la variable n a.
Comproveu si hi ha errors de sintaxi, normalment un punt i coma al final de totes les fases necessàries, i assegureu-vos que el sistema operatiu, els controladors i Python siguin els darrers canvis. També pot ser útil comprovar el tallafoc i veure si bloqueja la interfície.
Com puc aturar o avortar el compte enrere?
En utilitzar la paraula clau "interrupció". Per exemple, si voleu iniciar un compte enrere però voleu aturar-lo a la meitat, podeu provar una cosa així: i = 10 mentre que i <10: print (i) i - = 1 si i == 5 break print (" fet ")
Com puc crear un temporitzador que produeixi un número aleatori després d'un temps determinat a Python?
Primera importació aleatòria. A continuació, podeu afegir aquesta línia després del codi: random.choice (1,2,3,4,5,6,7,8,9).