2015-12-21 2 views
1

Как я могу увеличивать число в секунду? Я думал о чем-то подобном.Python увеличивает число раз в секунду

import threading 

def printit(): 
    second = 1 
    while threading.Timer(1, printit).start(): #for every second that pass. 
     print(second) 
     second += 1 

printit() 
+0

В чем проблема с кодом? – Kasramvd

+0

@ Kasramvd На консоли ничего не печатается. Также нет ошибок, и я использую PyShell – Lindow

+0

Итак, что вы ищете? – Kasramvd

ответ

4

я предлагаю другой метод, использующий time.sleep(1), решение будет:

from time import sleep 
def printit(): 
...  cpt = 1 
...  while True: 
...   print cpt 
...   sleep(1) 
...   cpt+=1 

time.sleep (сек)

приостановить выполнение текущего потока для данного секунд.

1

Есть несколько способов сделать это. Первых, как другие полагают, является

import time 

def print_second(): 
    second = 0 
    while True: 
     second += 1 
     print(second) 
     time.sleep(1) 

Проблема этого метода состоит в том, что она прекращает выполнение остальной части программы (если она не работает в другом потоке). Другой способ позволяет выполнять другие процессы в одном и том же цикле, в то же время все еще обвиняя второй счетчик и распечатывая его каждую секунду.

import time 

def print_second_new(): 
    second = 0 
    last_inc = time.time() 
    while True: 
     if time.time() >= last_inc + 1: 
      second += 1 
      print(second) 
      last_inc = time.time() 
#  <other code to loop through> 
Смежные вопросы