这是我第一次在这里提问,如果有点愚蠢,我很抱歉,但我是编码新手。
我正在制作一个基于文本的锻炼游戏,我想告诉用户当出现无限闪烁的文本时,他可以输入一些东西。
from time import sleep
print("When this signs happear: ")
user_answer()
sleep(2.3)
print("it means you can input something.")
user_input = input()
def user_answer():
while 1:
print("\r< ", end=""), sleep(1.1)
print("\r> ", end=""), sleep(1.1)
continue
我尝试使用“break”而不是“continue”,但错误仍然存在: 当显示闪烁的文本时,它是无限但代码不会在它上面前进, 简单来说,print("这意味着你可以输入一些东西。") 并没有发生
提前tnx
def user_answer():
while 1:
print("\r< ", end=""), sleep(1.1)
print("\r> ", end=""), sleep(1.1)
continue
由于您使用无限循环,您的代码将陷入无限循环。 如果我理解正确的话,你希望循环是无限的,直到用户输入一些东西
为此,您想在所谓的线程内启动“无限循环功能”。
线程将启动您的功能,而主线程(您的应用程序)将继续。
一旦用户输入,你想要求线程打印停止
例子:
from time import sleep
import threading
def user_answer(stop_event):
while not stop_event.is_set():
print("\r< ", end=""), sleep(1.1)
print("\r> ", end=""), sleep(1.1)
print("When this signs appear: ")
stop_event = threading.Event() # to tell when the thread stops
th = threading.Thread(target=user_answer, args=(stop_event,))
th.start()
print("it means you can input something.")
user_input = input()
if user_input:
stop_event.set()
th.join() # Wait for the thread to stop
# continue your code