Tính thời gian trong python

Hướng dẫn cách tính thời gian chạy python. Bạn sẽ học được cách tính thời gian chạy của thuật toán Python cũng như tìm hiểu về Code đếm ngược thời gian Python sau bài học này.

Tính thời gian chạy của thuật toán Python

Để tính thời gian chạy của thuật toán python, chúng ta cần sử dụng phương thức time() trong module time với cú pháp như sau:

time.time()

Với time.time(), chúng ta có thể lấy thời gian tại thời điểm chạy câu lệnh này.

Ứng dụng nó, chúng ta có thể lấy được thời gian tại thời điểm bắt đầu chạy thuật toán và kết thúc thuật toán.
Từ đó chúng ta có thể tìm hiệu giữa chúng để tính thời gian chạy của thuật toán Python.

Ví dụ, chúng ta có thuật toán in ra màn hình từ 1 đến 10 và cần tính thời gian chạy của thuật toán này. Chúng ta sẽ viết chương trình như sau:

import time


def thuat_toan():
for i in range(1,11):
print i


start_time = time.time()


thuat_toan()


end_time = time.time()


elapsed_time = end_time - start_time
print ("elapsed_time:{0}".format(elapsed_time) + "[sec]")

Kết quả:

1
2
3
4
5
6
7
8
9
10
elapsed_time:8.58306884765625e-06[sec]

  • Trong ví dụ trên chúng ta đã sử dụng phương thức format để định dạng một chuỗi trong python. Bạn có thể xem bài giảng chi tiết tại bài viết Định dạng chuỗi trong python bằng phương thức format

Code đếm ngược thời gian Python

Ngược với việc tính thời gian chạy thuật toán python, chúng ta có thể tạo ra code đếm ngược thời gian Python và bắt đầu chạy chương trình đó khi mà thời gian đếm ngược chương trình trở về 0.
Chúng ta có thể sử dụng thuật toán sau đây:

import time

def countdown(t):
while t:
mins, secs = divmod(t, 60)
timeformat = '{:02d}:{:02d}'.format(mins, secs)
print(timeformat, end='\r')
time.sleep(1)
t -= 1
print('Goodbye!\n\n\n\n\n')

Cách sử dụng thì đơn giản, giả sử chúng ta đếm ngược từ 10s tới 0s, sau đó bắt đầu chạy một chương trình in ra màn hình từ 1 tới 10.
Chúng ta viết:

countdown.py

import time


def thuat_toan():
for i in range(1,11):
print(i)
def countdown(t):
while t:
mins, secs = divmod(t, 60)
timeformat = '{:02d}:{:02d}'.format(mins, secs)
print(timeformat, end='\r')
time.sleep(1)
t -= 1
print('Goodbye!\n\n\n\n\n')


t=int(input("Nhap so giay bat dau dem nguoc : "))
countdown(t)
thuat_toan()

Hãy lưu lại với tên file là countdown.py và chạy chương trình, kết quả sẽ như sau:

Tính thời gian trong python

Sau khi đếm ngược về 0, thuật toán cần chạy sẽ được thực thi như sau:

Tính thời gian trong python

  • Trong ví dụ trên chúng ta đã sử dụng hàm inpput () để nhập biến từ màn hình. Bạn có thể xem bài giảng chi tiết tại bài viết Nhập biến trong python

Tổng kết và thực hành

Trên đây Kiyoshi đã hướng dẫn bạn về cách tính thời gian chạy python rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.

Và hãy cùng tìm hiểu những kiến thức sâu hơn về python trong các bài học tiếp theo.

Viết bởi Kiyoshi. Đã đăng ký bản quyền tác giả tại <a title="Bạn được tự do chia sẻ bài viết nhưng phải để lại đường link bài viết từ laptrinhcanban.com. Bạn không được sử dụng tài liệu cho mục đích thương mại. Không được phép chỉnh sửa nội dung được phát hành trên website của chúng tôi" style="color:#fff;background-color:silver" rel="license noopener" target="_blank" href="https://creativecommons.org/licenses/by-nc-nd/4.0/">Creativecommons</a>&nbsp;và <a title="Bạn được tự do chia sẻ bài viết nhưng phải để lại đường link bài viết từ laptrinhcanban.com. Bạn không được sử dụng tài liệu cho mục đích thương mại. Không được phép chỉnh sửa nội dung được phát hành trên website của chúng tôi" style="color:#fff;background-color:silver" target="_blank" rel="noopener" href="https://www.dmca.com/Protection/Status.aspx?ID=1631afcd-7c4a-467d-8016-402c5073e5cd" class="dmca-badge">DMCA</a><script src="https://laptrinhcanban.com/ezossp/https/images.dmca.com/Badges/DMCABadgeHelper.min.js?screx=1&sxcb=2a" async type="text/ez-screx">

Bài viết liên quan

Hãy chia sẻ và cùng lan tỏa kiến thức lập trình Nhật Bản tại Việt Nam!

HOME>> >>

Profile
Tính thời gian trong python

Tác giả : Kiyoshi (Chis Thanh)

Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.