Hướng dẫn python stop waiting for input - python dừng chờ đầu vào

Tôi đang cố gắng tìm ra cách làm Python ngừng chấp nhận đầu vào sau một khoảng thời gian nhất định.

Những gì tôi đã có cho đến nay hoạt động, nhưng sẽ không dừng chương trình cho đến khi người dùng nhấn vào. Nếu nó quan trọng, tôi đang chạy tệp này trong dấu nhắc Anaconda.

#I've made everything short so it's simpler
def f():
    try:
        if a != "Accepted word":
            timer.cancel
            print("...")
            quit()

    except NameError:
            #This makes the code run anyway since if the user inputs nothing 
            #'a' will still be undefined and python will still be waiting for an input
            timer.cancel
            print("...")
            if a == "":
            quit()
            #Like I said, Python won't actually stop until an input is made
    else:
        #This runs fine if the user inputs the 'accepted word'
        timer.cancel
        print(...)
        quit()
timer = threading.Timer(5.0, f)
timer.start()
a = input(">")

Để đặt nó bằng các từ khác nhau, tôi muốn làm một cái gì đó để Python sẽ ngừng chờ đợi một đầu vào. Nếu người dùng nhập bất cứ điều gì trước khi bộ hẹn giờ kết thúc, chương trình sẽ chạy tốt, điều này rất tuyệt, trừ khi người chơi không có gì. Nếu họ thậm chí không nhấn enter, thì toàn bộ quá trình dừng lại. .

Phương thức Input () được sử dụng trong Python 3 để nhận dữ liệu từ người dùng. Đôi khi, nó yêu cầu chờ đợi hoặc tạm dừng nhiệm vụ đầu vào trong một khoảng thời gian cụ thể cho mục đích lập trình. Ví dụ: nếu có một vòng lặp vô hạn trong tập lệnh sẽ chấm dứt dựa trên đầu vào của người dùng cụ thể, thì nó sẽ đợi đầu vào từ người dùng trong mỗi lần lặp của vòng lặp. Mô -đun thời gian chứa phương thức Sleep () có thể được sử dụng để chờ một khoảng thời gian nhất định trong Python trước khi thực hiện đầu vào. Python chứa nhiều mô -đun khác để chấm dứt tập lệnh dựa trên bất kỳ nhấn phím nào hoặc tạm dừng việc thực thi tập lệnh. Làm thế nào Python tạm dừng cho đầu vào có thể được áp dụng trong tập lệnh Python được hiển thị trong bài viết này. method is used in python 3 for data intake from the user. Sometimes, it requires waiting or pause the input task for a specific period of time for programming purposes. For example, if there is an infinite loop in the script that will terminate based on specific user input, then it will wait for the input from the user in each iteration of the loop. Time module contains sleep() method that can be used to wait a certain period of time in python before taking input. Python contains many other modules to terminate the script based on any key press or pause the execution of the script. How python pause for input can be applied in python script is shown in this article.

Tạm dừng tập lệnh cho đầu vào của người dùng chấm dứt:

Nếu bạn muốn đợi người dùng nhấn bất kỳ phím nào trước khi kết thúc tập lệnh thì bạn có thể gọi phương thức input () với một thông báo ở cuối tập lệnh. Tập lệnh sau đây cho thấy cách bạn có thể tạm dừng việc chấm dứt tập lệnh và chờ đầu vào của người dùng. Phương thức Input () sẽ lấy dữ liệu chuỗi và lưu trữ trong biến, tên. Nếu biến không trống thì một thông báo chào mừng sẽ in nếu không một thông báo lỗi sẽ in. Tiếp theo, một thông báo hướng dẫn sẽ in để thông báo cho người dùng nhấn bất kỳ khóa nào. Thông báo chấm dứt sẽ in khi người dùng sẽ nhấn bất kỳ phím nào.input() method with a message at the end of the script. The following script shows how you can pause the termination of the script and wait for the user’s input. The input() method will take string data and store in the variable, name. If the variable is not empty then a welcome message will print otherwise an error message will print. Next, an instruction message will print to inform the user to press any key. A termination message will print when the user will press any key.

#!/usr/bin/env python3

# Lấy tên đầu vào của người dùng = đầu vào ("Tên của bạn là gì?")# Kiểm tra giá trị đầu vào
name = input("What is your name? ")
# Check the input value

if (name! = ""): & nbsp; & nbsp;# in tin nhắn chào mừng nếu giá trị không trống & nbsp; & nbsp; in ("Xin chào %s, Chào mừng bạn đến với trang web của chúng tôi" %tên) khác: & nbsp; & nbsp;# in tin nhắn trống & nbsp; & nbsp; in ("Tên không thể trống.")(name != ""):
   # Print welcome message if the value is not empty
   print("Hello %s, welcome to our site" %name )
else:
   # Print empty message
   print("The name can't be empty.")

# Chờ vào đầu vào của người dùng chấm dứt chương trình inSpressInput ("Nhấn bất kỳ phím nào để chấm dứt chương trình")# In Bye MessagePrint ("Hẹn gặp lại sau.")
input("Press any key to terminate the program")
# Print bye message
print("See you later.")

Output:

Sau khi thực thi tập lệnh, nó chờ một đầu vào chuỗi. Ở đây, Fahmida, được gõ là một giá trị chuỗi. Một thông điệp chào mừng được in với giá trị và chờ đợi bất kỳ Keypress nào. Một tin nhắn Bye được in sau khi nhấn bất kỳ khóa nào.

Hướng dẫn python stop waiting for input - python dừng chờ đầu vào

Tạm dừng đầu vào trong một khoảng thời gian nhất định

Phương thức ngủ () có thể được sử dụng để tạm dừng đầu vào của người dùng trong một khoảng thời gian nhất định. Trong tập lệnh sau, một tác vụ bổ sung đơn giản được giao cho người dùng. Phương thức Sleep () được sử dụng ở đây để chờ người dùng trong 5 giây trước khi gõ câu trả lời. Tiếp theo, nếu điều kiện được sử dụng để kiểm tra câu trả lời là chính xác hoặc không chính xác. method can be used to pause the user input for a certain period of time. In the following script, a simple addition task is given for the user. sleep() method is used here to wait for the user for 5 seconds before typing the answer. Next, if the condition is used to check the answer is correct or incorrect.

#!/usr/bin/env python3

# Lấy tên đầu vào của người dùng = đầu vào ("Tên của bạn là gì?")# Kiểm tra giá trị đầu vào
import time

if (name! = ""): & nbsp; & nbsp;# in tin nhắn chào mừng nếu giá trị không trống & nbsp; & nbsp; in ("Xin chào %s, Chào mừng bạn đến với trang web của chúng tôi" %tên) khác: & nbsp; & nbsp;# in tin nhắn trống & nbsp; & nbsp; in ("Tên không thể trống.")
print ("Solve the problem to prove that you are a human being.")

# Chờ vào đầu vào của người dùng chấm dứt chương trình inSpressInput ("Nhấn bất kỳ phím nào để chấm dứt chương trình")# In Bye MessagePrint ("Hẹn gặp lại sau.")
print("What the sum of 10 and 40? ")

Sau khi thực thi tập lệnh, nó chờ một đầu vào chuỗi. Ở đây, Fahmida, được gõ là một giá trị chuỗi. Một thông điệp chào mừng được in với giá trị và chờ đợi bất kỳ Keypress nào. Một tin nhắn Bye được in sau khi nhấn bất kỳ khóa nào.
print("Waiting for five seconds for calculating ...")
# Wait for 2 seconds
time.sleep(5)

Tạm dừng đầu vào trong một khoảng thời gian nhất định
answer = input("Your answer: ")

Phương thức ngủ () có thể được sử dụng để tạm dừng đầu vào của người dùng trong một khoảng thời gian nhất định. Trong tập lệnh sau, một tác vụ bổ sung đơn giản được giao cho người dùng. Phương thức Sleep () được sử dụng ở đây để chờ người dùng trong 5 giây trước khi gõ câu trả lời. Tiếp theo, nếu điều kiện được sử dụng để kiểm tra câu trả lời là chính xác hoặc không chính xác.
if(int(answer) == 50):
  print("Your answer is correct. Well done.")
else:

# Nhập thời gian ModuleImportTimeprint("You have failed to prove.")

Output:

# In tin nhắn ("Giải quyết vấn đề để chứng minh rằng bạn là một con người.")

Hướng dẫn python stop waiting for input - python dừng chờ đầu vào

# In câu hỏi ("tổng của 10 và 40?")the input to display the instruction messages

# In chờ tin nhắn ("Chờ năm giây để tính toán ...")# Chờ 2 giây.input() method for different purposes. The process of providing information to the user by using multiple messages is shown in the following script. The steps to run any python script are shown here by using multiple input() method. The user has to press any key to show the next steps. The first input() method is used to start showing the message and the last input() method is used to show the termination message.

#!/usr/bin/env python3

# Lấy tên đầu vào của người dùng = đầu vào ("Tên của bạn là gì?")# Kiểm tra giá trị đầu vào
print("The steps to run a python script:")
# Wait for any keypress
input("Press any key to continue")
# Wait for any keypress
input("Write the script in any editor.")
# Wait for any keypress
input("Open the terminal by pressing Alt+Ctrl+T.")
# Wait for any keypress
input("Type: 'python scriptname.py'.")
# Wait for any keypress
input("You will get your output if the script is error-free.")
# Wait for any keypress
input("Press any key to terminate.")
# Print the termination message
print("\nGood Bye.")

Output:

if (name! = ""): & nbsp; & nbsp;# in tin nhắn chào mừng nếu giá trị không trống & nbsp; & nbsp; in ("Xin chào %s, Chào mừng bạn đến với trang web của chúng tôi" %tên) khác: & nbsp; & nbsp;# in tin nhắn trống & nbsp; & nbsp; in ("Tên không thể trống.")

Hướng dẫn python stop waiting for input - python dừng chờ đầu vào

Tạm dừng tập lệnh cho giá trị đầu vào cụ thể

Nếu bạn muốn chạy một số tập lệnh liên tục cho đến khi người dùng nhấn bất kỳ khóa cụ thể nào thì bạn phải xác định tập lệnh đó bên trong bất kỳ vòng lặp vô hạn nào. Nhiệm vụ này được hiển thị trong ví dụ này. Ở đây, một vòng lặp vô hạn trong khi vòng lặp được khai báo và dự kiến ​​sẽ lấy hai số và in tổng số các số đó trong mỗi lần lặp. Ở cuối vòng lặp, nó sẽ đợi người dùng nhấn ‘Y, để tiếp tục vòng lặp và lặp lại tập lệnh.y’ to continue the loop and repeat the script again.

#!/usr/bin/env python3

# Xác định một vòng lặp vô hạn (đúng):
while(True):

& nbsp; # Lấy hai số nguyên & nbsp; x = int (input ("nhập một số:")) & nbsp; y = int (input ("nhập một số:"))# Take two integer numbers
  x = int(input("Enter a number: "))
  y = int(input("Enter a number: "))

& nbsp; # Thêm hai số & nbsp; kết quả = x + y & nbsp; # In kết quả tổng kết & nbsp; in ("tổng %d và %d là: %d" %(x, y, kết quả)))# Add two numbers
  result = x + y
  # Print the summation result
  print("The sum of %d and %d is : %d" %(x, y, result))

& nbsp; # Đợi đầu vào người dùng tiếp tục hoặc chấm dứt vòng lặp & nbsp; ans = input ("Bạn có muốn làm lại không? (y/n)") & nbsp; # Chấm dứt tập lệnh nếu giá trị đầu vào là 'n' & nbsp; if (ans.lower () == 'n'): & nbsp; phá vỡ# Wait for the user input to continue or terminate the loop
  ans = input("Do you want do again? (y/n)")
  # Terminate the script if the input value is 'n'
  if (ans.lower() == 'n'):
  break

Output:

Kịch bản bên trong vòng lặp trong khi được thực thi hai lần ở đây. Lần đầu tiên, sau khi tính toán tổng kết, ‘Y, được nhấn và tập lệnh của vòng lặp được lặp lại. Khi người dùng nhấn ’N, thì vòng lặp bị chấm dứt.‘y’ is pressed and the script of the loop is repeated again. When the user pressed ‘n’ then the loop is terminated.

Hướng dẫn python stop waiting for input - python dừng chờ đầu vào

Conclusion:

Tạm dừng cho đầu vào của người dùng là một yêu cầu rất phổ biến của bất kỳ ngôn ngữ lập trình nào. Các mục đích tạm dừng khác nhau cho đầu vào được hiển thị trong bài viết này bằng cách sử dụng các ví dụ Python rất đơn giản. Tôi hy vọng, bài viết này sẽ giúp người đọc biết việc sử dụng tạm dừng cho đầu vào và áp dụng nó trong tập lệnh khi yêu cầu.

Thông tin về các Tác giả

Hướng dẫn python stop waiting for input - python dừng chờ đầu vào

Tôi là một huấn luyện viên của các khóa học lập trình web. Tôi thích viết bài báo hoặc hướng dẫn về các chủ đề CNTT khác nhau. Tôi có một kênh YouTube trong đó nhiều loại hướng dẫn dựa trên Ubuntu, Windows, Word, Excel, WordPress, Magento, Laravel, v.v.