Cómo hacer un programa de cuenta regresiva en Python

Este artículo le mostrará cómo crear un programa de cuenta atrás simple con el lenguaje de programación Python. Este es un buen ejercicio para un principiante que quiera aprender sobre los bucles while y los módulos. Sin embargo, ya debe estar familiarizado con los conceptos básicos de Python, como las variables, para comprenderlo.

codo de bandido

También necesita tener Python 3 instalado. Si aún no lo ha hecho, antes de continuar, siga las instrucciones de Cómo instalar Python .

Pasos

  1. Imagen titulada 4582307 1

    1 Abra su editor de texto o IDE. En Windows, la opción más sencilla es usar IDLE, que se instala junto con Python.
  2. Imagen titulada 4582307 2

    2 Abra un archivo nuevo. En muchos editores de texto, puede hacer esto yendo al menú de archivo y haciendo clic en Nueva ventana o simplemente presionando Ctrl + N .
  3. Imagen titulada 4582307 3

    3 Importe el time módulo. El time contiene muchas funciones de Python relacionadas con el tiempo, por ejemplo, obtener la hora actual o esperar un período de tiempo específico (este último es lo que necesitará para este programa). Para importar el módulo, escriba: countdown
  4. Imagen titulada 4582307 4

    4 Defina una función de cuenta atrás. Puede darle a la función el nombre que desee, pero normalmente debería utilizar algo descriptivo. En este caso, podría llamarlo cuenta regresiva (). Agregue el siguiente código: sleep
  5. Imagen titulada 4582307 5

    5 Escribe un ciclo while. Un ciclo while repite el código dentro de él siempre que su condición sea verdadera. En este caso, desea que la cuenta regresiva continúe hasta que el número llegue a 0. Por lo tanto, debe escribir: time
    • Observe los espacios al principio de la línea. Estos le dicen a Python que esta línea de código es parte de la definición de input() función, y no solo un código debajo. Puede usar cualquier cantidad de espacios, pero debe usar la misma cantidad antes de cualquier línea que desee sangrar una vez.
    • Necesitará sangrar las siguientes líneas de código dos veces, porque son parte de la definición de la función y parte del ciclo while. Esto se hace utilizando el doble de espacios.


  6. Imagen titulada 4582307 6

    6 Imprime el número actual. Esto no significa usar una impresora para imprimirlo en papel, 'imprimir' es una palabra que significa 'mostrar en la pantalla'. Esto le permitirá ver cuánto ha avanzado la cuenta atrás. countdown()
  7. Imagen titulada 4582307 7

    7 Cuente el número. Que sea 1 menos. Esto se hace con el siguiente código: countdown()
    Alternativamente, si no desea escribir tanto, puede escribir:
       import   time  
  8. Imagen titulada 4582307 8

    8 Haz que el programa espere un segundo. De lo contrario, la cuenta regresiva sería demasiado rápida y la cuenta regresiva terminaría antes de que pudieras leerla. Para esperar un segundo, use el
       def   countdown  (  t  ):  
    función del
        while   t   >   0  :  
    módulo que había importado anteriormente:
        print  (  t  )  
  9. Imagen titulada 4582307 9

    9 Haz algo cuando la cuenta atrás llegue a cero. Para imprimir 'BLAST OFF!' cuando la cuenta regresiva llegue a cero, agregue esta línea:
        t   =   t   -   1  
    • Tenga en cuenta que esta línea solo tiene sangría una vez . Esto se debe a que ya no forma parte del ciclo while. Este código solo se ejecuta después de que finaliza el ciclo while.
  10. Imagen titulada 4582307 10

    10 Pregunte al usuario desde qué número iniciar la cuenta atrás. Esto le dará a su programa cierta flexibilidad, en lugar de contar siempre desde el mismo número.
    • Imprime la pregunta al usuario. Necesitan saber lo que se supone que deben ingresar.
          t   -=   1  
    • Obtenga la respuesta. Almacene la respuesta en una variable para que pueda hacer algo con ella más tarde.
          time  .  sleep  (  1  )  
    • Si bien la respuesta del usuario no es un número entero, pídale al usuario otro número entero. Puede hacer esto con un ciclo while. Si la primera respuesta ya es un número entero, el programa no ingresará al ciclo y simplemente procederá con el siguiente código.
          print  (  'BLAST OFF!'  )  
    • Ahora puede estar seguro de que el usuario ingresó un número entero. Sin embargo, todavía se almacena dentro de una cadena (
         print  (  'How many seconds to count down? Enter an integer:'  )  
      siempre devuelve una cadena, porque no puede saber si el usuario ingresará texto o números). Necesita convertirlo en un entero:
         seconds   =   input  ()  

      Si hubiera intentado convertir una cadena cuyo contenido no es un número entero en un número entero, obtendría un error. Esta es la razón por la que el programa verificó si la respuesta era en realidad un número entero primero.
  11. Imagen titulada 4582307 11

    11 Llame al
       while   not   seconds  .  isdigit  ():   print  (  'That wasn't an integer! Enter an integer:'  )   seconds   =   input  ()  
    función.
    Lo había definido previamente, pero definir una función no hace lo que está escrito dentro de ella. Para ejecutar realmente el código de cuenta regresiva, llame al
       seconds   =   int  (  seconds  )  
    función con el número de segundos que el usuario ingresó:
       countdown  (  seconds  )  
  12. Imagen titulada 4582307 12

    12 Verifique su código terminado. Debería verse así:
       import   time   def   countdown  (  t  ):   while   t   >   0  :   print  (  t  )   t   -=   1   time  .  sleep  (  1  )   print  (  'BLAST OFF!'  )   print  (  'How many seconds to count down? Enter an integer:'  )   seconds   =   input  ()   while   not   seconds  .  isdigit  ():   print  (  'That wasn't an integer! Enter an integer:'  )   seconds   =   input  ()   seconds   =   int  (  seconds  )   countdown  (  seconds  )  
    • Las líneas vacías solo están ahí para facilitar la lectura del código. No son obligatorios y Python en realidad los ignora.
    • Puede escribir t = t - 1 en lugar de t - = 1 si lo prefiere.
    Anuncio

Preguntas y respuestas de la comunidad

Buscar Agregar nueva pregunta
  • Pregunta ¿Cómo hago para que se imprima cada segundo en lugar de imprimirlo todo a la vez? Utilice la función time.sleep (x). Permite que el programa se detenga durante x segundos. Después de cada declaración de impresión, inserte time.sleep (1).
  • Pregunta ¿Cómo puedo agrandar la fuente en Python en una Mac? En el shell de Python, haga clic en Opciones, Configurar, Inactivo. Desde allí, puede cambiar el tamaño de fuente.
  • Pregunta ¿Por qué tener el módulo 'tiempo' si nunca se usa? Si escribe un programa para, digamos, un robot y tiene los servocontroles en milisegundos, entonces usará el módulo de tiempo para enviar la señal eléctrica durante la cantidad de tiempo correcta.
  • Pregunta Sigo recibiendo el siguiente error: 'se esperaba un bloque con sangría'. ¿Qué he hecho mal? Debe presionar la tecla 'Tab' para sangrar, por lo que si estuviera haciendo un bucle 'if'. haría: if a = b: print ('Sangría es el espacio antes de imprimir')
  • Pregunta Quiero imprimir la hora en la pantalla de video. ¿Qué tengo que hacer? Supongo que te refieres a la ventana Python Turtle Graphics. Si estoy en lo cierto, debería usar la función 'escribir ()' en lugar de 'imprimir ()'. Entonces tendría que agregar 'clear ()' porque 'write ()' no cambia las líneas automáticamente. De lo contrario, podría mover la posición de su tortuga. Para usar la función 'write ()', también debe agregar 'from turtle import *'.
  • Pregunta Estoy usando LiClipse y al cargar el código, se carga, pero no pasa nada. La sangría está bien y lo único que he cambiado es cambiar la variable n a a. Verifique si hay errores de sintaxis, generalmente un punto y coma al final de todas las fases requeridas, y asegúrese de que su sistema operativo, controladores y Python estén actualizados. También puede resultar útil comprobar el firewall y ver si está bloqueando la interfaz.
  • Pregunta ¿Cómo puedo detener o cancelar la cuenta regresiva? Mediante el uso de la palabra clave 'descanso'. Por ejemplo, si desea iniciar una cuenta regresiva pero desea detenerla a la mitad, puede intentar algo como esto: i = 10 mientras i<10: print(i) i -= 1 if i == 5 break print('done')
  • Pregunta ¿Cómo creo un temporizador que produce un número aleatorio después de un período de tiempo determinado en Python? Primera importación aleatoria. Luego puede agregar esta línea después del código: random.choice (1,2,3,4,5,6,7,8,9).
  • Pregunta ¿Cómo ejecuto un temporizador en segundo plano en una prueba? El invisible Esto es difícil de hacer en Python. Debería usar el hilo para lograr esto: def riendo: while True: print ('Jaja') hilo1 = hilo (riendo) hilo1.start ()
Preguntas sin respuesta
  • ¿Qué pasa si quiero que haga una cuenta regresiva de los días en una determinada zona horaria? E. I. ¿Todos los viernes de 5pm utc + 1 al lunes 5pm utc + 1?
  • ¿Cuál es la mejor manera de aprender Python en 30 días?
  • ¿Qué pasa si quiero que sea una GUI?
Haga una pregunta Quedan 200 caracteres Incluya su dirección de correo electrónico para recibir un mensaje cuando se responda esta pregunta. Enviar
Anuncio

Consejos

Enviar una sugerencia Todos los envíos de sugerencias se revisan cuidadosamente antes de ser publicados ¡Gracias por enviar una sugerencia para su revisión!

Temas Populares

Su guía para transmitir 'The Parent Trap' de 1998. Fue la película de Disney la que ayudó a lanzar la carrera de Lindsay Lohan.

Milos Raonic habla de Vasek Pospisil en un choque totalmente canadiense en la segunda ronda del US Open el jueves. Raonic lidera el cara a cara contra Pospisil con un estrecho margen de 2-1.

La Copa América 2019 comienza el viernes. Aquí le mostramos cómo ver todos los partidos en inglés o español en los Estados Unidos.

Cómo derribar una puerta. Ser capaz de derribar una puerta puede que no sea una habilidad que utilice con mucha frecuencia, pero ciertamente podría ser útil en casos de incendio o una emergencia médica. Recuerde evaluar siempre la situación, así como la puerta en sí ...

Cómo abrir una botella sin un abridor de botellas. Si alguna vez te encuentras sin un abrebotellas, hay muchas formas alternativas de quitar la tapa de la botella. Si estás en la casa, puedes usar diferentes herramientas y utensilios para hacer palanca en la tapa ...

Aquí le mostramos cómo ver una transmisión en vivo de Gustafsson vs Smith y todas las peleas de UFC Estocolmo en línea.