Bạn có thể viết mã hẹn giờ bằng Python không?

Tạo bộ đếm thời gian đơn giản bằng Python cho game hay hoạt hình không quá khó. Trong bài viết này, bạn sẽ học cách tạo và sử dụng bộ đếm thời gian. Bạn sẽ
  1. Hiểu sự khác biệt giữa Console và Editor khi viết mã Python

  2. Tìm hiểu về mô-đun thời gianthời gian. hàm time() function

  3. Tìm hiểu cách bắt đầu và dừng đồng hồ hẹn giờ cũng như khiến mọi thứ diễn ra khi một khoảng thời gian nhất định đã trôi qua

Bắt đầu

Bạn sẽ sử dụng mô-đun có tên thời gian . Nhớ lại rằng một mô-đun là những gì chúng ta nhập vào trong một chương trình. Bạn có thể coi đây là việc tìm nạp một cuốn sách từ thư viện có chứa các lệnh hữu ích. Trong trường hợp này, cuốn sách có tên là thời gian và nó chứa các lệnh để thực hiện, bạn đoán xem, thời gian.


Mã hóa trong Bảng điều khiển

Bạn sẽ bắt đầu sử dụng Bảng điều khiển Python. Nếu bạn đang sử dụng PyCharm hoặc các trình chỉnh sửa tương tự, hãy tìm tùy chọn Bảng điều khiển Python. Trong PyCharm, nó ở dưới cùng bên trái của cửa sổ (nếu bạn không thể nhìn thấy văn bản Bảng điều khiển Python trong phiên bản của mình, hãy nhấp vào hình vuông nhỏ ở góc dưới cùng bên trái)


Bạn có thể viết mã hẹn giờ bằng Python không?

Nếu bạn đang sử dụng nền tảng dựa trên web, chẳng hạn như nền tảng dựa trên Trinket, thì bạn cũng có thể tìm thấy Bảng điều khiển ở đó. Trên các hệ thống dựa trên Trinket, bao gồm cả nền tảng học tập codetoday, bạn có thể tìm thấy tại đây

Bạn có thể viết mã hẹn giờ bằng Python không?

Bạn biết mình đang ở trong môi trường Bảng điều khiển vì mỗi dòng bắt đầu bằng

>>>

Trong Bảng điều khiển, mỗi lần bạn nhấn phím Return (hoặc Enter), dòng mã đó sẽ được chạy (hoặc được thực thi). Điều này khác với cài đặt thông thường (mà chúng tôi gọi là viết tập lệnh) trong đó tất cả các dòng sẽ chạy lần lượt chỉ khi bạn nhấn nút Chạy


Sử dụng mô-đun thời gian trong Python

Bạn có thể bắt đầu bằng cách mang cuốn sách có tên thời gian từ thư viện Python và chạy hàm cũng có tên là time from inside this book:


>>> import time
>>> time.time()
1599396434.8482718

Con số bạn nhận được sẽ không giống với con số ở trên, nhưng rất giống nhau. Bạn có thể đoán con số này là gì không?


Con số này cho chúng tôi biết thời gian, nhưng không phải theo cách bạn đã quen. Nó cung cấp cho bạn số giây đã trôi qua kể từ ngày 1 tháng 1 năm 1970. Lạ lùng?


Tại sao điều này hữu ích?

>>> start = time.time()
>>> time.time() - start
6.587711811065674

Bạn hiện đang lưu trữ thời gian trong hộp có tên bắt đầu khi dòng đầu tiên chạy. Ở dòng thứ hai, Python kiểm tra lại thời gian (khi bạn viết time. time() ) nhưng sau đó mất thời gian kiểm tra khi dòng đầu tiên được chạy. Số mà bạn nhìn thấy là số giây tôi mất từ ​​khi nhấn Return sau dòng đầu tiên và nhấn Return sau khi nhập dòng thứ hai. Hãy dùng thử…


Hiển thị Đồng hồ bấm giờ trong rùa Ảnh động

Bây giờ bạn có thể quay lại nơi thông thường nơi bạn viết mã Python, nơi bạn có thể viết tất cả mã của mình và nhấn Chạy khi bạn muốn chạy chương trình


Bắt đầu bằng cách nhập hai mô-đun mà chúng ta cần để đặt bộ đếm thời gian trong chương trình con rùa và tạo hai con rùa

import time
import turtle

player = turtle.Turtle()
timer_text = turtle.Turtle()

Con rùa đầu tiên có thể là người chơi di chuyển trong trò chơi. Trong ví dụ này, bạn sẽ chỉ làm cho người chơi di chuyển liên tục nhưng khi bạn sử dụng bộ đếm thời gian trong các chương trình sau này, rùa người chơi của bạn có thể sẽ làm nhiều việc hơn là chỉ di chuyển


Bạn sẽ sử dụng con rùa thứ hai để , trong trường hợp này bạn sẽ viết thời gian đã trôi qua


Đặt trình phát để nó di chuyển và quay liên tục, nhưng trước khi bắt đầu, chúng tôi muốn bắt đầu hẹn giờ

start = time.time()
while True:
    player.forward(1)
    player.left(1)

Tiếp theo, bạn có thể viết thời gian trên màn hình mỗi khi người chơi di chuyển bằng cách thêm

    timer_text.write(time.time() - start)

ngay sau khi bạn làm cho trình phát di chuyển (với cùng một vết lõm)


Khi bạn chạy chương trình này, bạn sẽ nhận thấy có điều gì đó kỳ lạ đang xảy ra. Mỗi khi rùa timer_text ghi số giây đã trôi qua trên màn hình, nó sẽ ghi văn bản lên trên văn bản trước đó. Không tốt. Hãy thử thêm

    timer_text.clear()

trước khi bạn viết văn bản


Bây giờ bạn có một bộ hẹn giờ đơn giản. Nếu bạn đã quen với việc sử dụng trình theo dõi và cập nhật khi sử dụng mô-đun rùa, bạn có thể làm như vậy để mọi thứ mượt mà hơn. Bạn cũng có thể xóa các số sau dấu thập phân bằng cách thay đổi số thành một số nguyên, trong Python được gọi là int (đối với số nguyên). Đây là mã đầy đủ.

import time
import turtle

window = turtle.Screen()
window.tracer(0)

player = turtle.Turtle()
timer_text = turtle.Turtle()

start = time.time()
while True:
    player.forward(1)
    player.left(1)
    timer_text.clear()
    timer_text.write(int(time.time() - start))

    window.update()

Nếu bạn muốn làm cho văn bản trông đẹp hơn, bạn có thể thay thế dòng đó bằng

________số 8_______

Hãy nhớ rằng timer_text là một con rùa giống như bất kỳ con rùa nào khác. Vì vậy, bạn có thể di chuyển nó đến bất cứ đâu bạn muốn trên màn hình và thay đổi màu của nó, nếu bạn thích


Kiểm soát thời gian mọi thứ xảy ra trong một chương trình

Bước cuối cùng trong hướng dẫn ngắn này là làm cho vòng lặp while chỉ chạy trong 5 giây, giả sử.

Câu lệnh while cần phải được theo sau bởi một từ nào đó mà Python hiểu là True or False. You can therefore replace while True bằng.

while time.time() - start < 5:

Hãy chia nhỏ điều này. thời gian. time() kiểm tra thời gian hiện tại bất cứ khi nào dòng này xảy ra. Sau đó, bạn đang lấy đi thời gian khi bắt đầu, ngay trước khi vòng lặp while bắt đầu. Vậy thời gian. time() - start , như bạn đã học ở trên, sẽ cho biết số giây đã trôi qua kể từ khi người chơi bắt đầu di chuyển.


Sau đó, bạn đang yêu cầu máy tính kiểm tra xem số này có nhỏ hơn 5 không. Như vậy chương trình sẽ hiểu thời gian. time() - bắt đầu < 5 as True khi chưa đầy 5 giây trôi qua nhưng False once the time goes above 5 seconds.


Đây là mã cuối cùng

>>> import time
>>> time.time()
1599396434.8482718
0


Nhiệm vụ tiếp theo của bạn là tự mình thử nghiệm một chút với việc thiết lập và sử dụng bộ hẹn giờ. Chúc vui vẻ…


Rất thích điều này và muốn học thêm Python miễn phí?

Làm thế nào để Python tính toán bộ đếm thời gian?

Để tính thời gian thực thi mã, mô-đun thời gian có thể được sử dụng. .
Lưu dấu thời gian ở đầu mã bắt đầu sử dụng time()
Lưu dấu thời gian ở cuối mã
Tìm sự khác biệt giữa kết thúc và bắt đầu, cho biết thời gian thực hiện