Vấn đề bạn gặp phải ở đây phát sinh từ thực tế là mã của bạn đang chạy từ trên xuống dưới. Hãy xem xét thứ tự thực hiện các tuyên bố của bạn.
- Bạn tạo đối tượng đếm ngược.
- Bạn chạy phương thức Count.Run.
- Bạn ngủ trong 3 giây.
- Bạn tạm dừng bằng phương pháp đếm.
Trong Bước 2, phương thức Count.Run sẽ chạy để hoàn thành trước khi thực hiện dòng tiếp theo. Có nghĩa là bộ đếm sẽ đi từ 10 đến 0 đến 0 trước khi nó chạy dòng tiếp theo time.sleep[3]
và count.pause[]
.
Cách tốt nhất để đi về điều này là bắt đầu một chủ đề mới sẽ chạy trong nền để mã khác của bạn có thể thực thi trong khi bộ đếm thời gian đếm ngược của bạn tiếp tục đếm ngược.
Để làm điều này, chỉ cần nhập luồng ở đầu tệp của bạn
import threading
sau đó khi bạn muốn chạy quầy của mình, thay vì làm
count.run['John Doe', '30']
Tạo một chủ đề mới và bắt đầu nó
thread = threading.Thread[target=count.run, args=['John Doe', '30',]]
thread.start[]
time.sleep[3]
count.pause[]
Tôi khuyên bạn nên nghiên cứu cách sử dụng các chủ đề trong Python, chúng hữu ích.
//realpython.com/intro-to-python-threading/
Xem thảo luận
Cải thiện bài viết
Lưu bài viết
Xem thảo luận
Cải thiện bài viết
Lưu bài viết
Đọc
Bàn luận
Trong bài viết này, chúng ta sẽ xem cách tạo bộ đếm thời gian đếm ngược bằng Python. Mã sẽ lấy đầu vào từ người dùng về độ dài của đếm ngược tính bằng giây. Sau đó, việc đếm ngược sẽ bắt đầu trên màn hình của định dạng ‘phút: giây. Chúng tôi sẽ sử dụng mô -đun thời gian ở đây. sleep[] function. Follow the below steps to create a countdown timer:
- Cách tiếp cận Import the time module.
- Trong dự án này, chúng tôi sẽ sử dụng mô -đun thời gian và hàm Sleep [] của nó. Thực hiện theo các bước dưới đây để tạo bộ đếm thời gian đếm ngược: Then ask the user to input the length of the countdown in seconds.
- Bước 1: Nhập mô -đun thời gian. This value is sent as a parameter ‘t’ to the user-defined function countdown[]. Any variable read using the input function is a string. So, convert this parameter to ‘int’ as it is of string type.
- Bước 2: Sau đó, yêu cầu người dùng nhập chiều dài đếm ngược tính bằng giây. In this function, a while loop runs until time becomes 0.
- Bước 3: Giá trị này được gửi dưới dạng tham số ‘T, đến Chức năng do người dùng xác định []. Bất kỳ biến nào đọc bằng hàm đầu vào là một chuỗi. Vì vậy, hãy chuyển đổi tham số này thành ‘int, vì nó thuộc loại chuỗi. Use divmod[] to calculate the number of minutes and seconds. You can read more about it here.
- Bước 4: Trong hàm này, vòng lặp trong thời gian chạy cho đến khi thời gian trở thành 0. Now print the minutes and seconds on the screen using the variable timeformat.
- Bước 5: Sử dụng divmod [] để tính toán số phút và giây. Bạn có thể đọc thêm về nó ở đây. Using end = ‘\r’ we force the cursor to go back to the start of the screen [carriage return] so that the next line printed will overwrite the previous one.
- Bước 6: Bây giờ in số phút và giây trên màn hình bằng cách sử dụng thời gian thay đổi. The time.sleep[]is used to make the code wait for one sec.
- Bước 7: Sử dụng end = ‘\ r, chúng tôi buộc con trỏ phải quay lại đầu màn hình [trả về vận chuyển] để dòng tiếp theo được in sẽ ghi đè lên cái trước. Now decrement time so that the while loop can converge.
- Bước 8: Thời gian.s ngủ [] được sử dụng để làm cho mã chờ một giây. After the completion of the loop, we will print “Fire in the hole” to signify the end of the countdown.
Bước 9: Bây giờ thời gian giảm để vòng lặp trong khi có thể hội tụ.
Python3
Bước 10: Sau khi hoàn thành vòng lặp, chúng tôi sẽ in lửa trong lỗ hổng để biểu thị sự kết thúc của đếm ngược.
Dưới đây là việc thực hiện phương pháp trên
import
time
def
countdown[t]:
____10 time.sleep[3]
1
time.sleep[3]
2count.pause[]
7count.pause[]
8time.sleep[3]
4import threading
0time.sleep[3]
8
time.sleep[3]
2import threading
3import threading
4time.sleep[3]
8
time.sleep[3]
2import threading
7import threading
8time.sleep[3]
4 import threading
4
count.pause[]
7count.run['John Doe', '30']
3count.run['John Doe', '30']
4time.sleep[3]
8
import threading
7time.sleep[3]
4 count.run['John Doe', '30']
8count.run['John Doe', '30']
3import
05018
import
2import
3import
4
Output:
//media.geeksforgeeks.org/wp-content/cdn-uploads/20200729151851/python-countdown-timer.webm
Một thẻ đã tồn tại với tên chi nhánh được cung cấp. Nhiều lệnh GIT chấp nhận cả tên thẻ và tên chi nhánh, vì vậy việc tạo nhánh này có thể gây ra hành vi bất ngờ. Bạn có chắc là bạn muốn tạo chi nhánh này?