Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Python中继续脚本的其余部分的同时运行无限循环_Python_Loops - Fatal编程技术网

如何在Python中继续脚本的其余部分的同时运行无限循环

如何在Python中继续脚本的其余部分的同时运行无限循环,python,loops,Python,Loops,我是一名Python初学者,正在制作一款基于文本的冒险游戏。我正在为比赛设置时间系统。我想在游戏中每过一秒就增加一分钟。因此,本质上,我希望在执行其余代码的同时无限期地运行循环 这就是我目前所拥有的。它似乎是在循环和增加存储时间,但它并没有继续它下面的一切。我怎样才能解决这个问题?谢谢大家! 我建议您使用多线程概念。通过使用多线程,您可以让这个无限循环在单独的线程中运行,其余代码将不间断地继续运行 另外,如果您想共享此线程和脚本中的一些变量,请不要忘记使用全局变量 一些参考链接:我建议您使用多线

我是一名Python初学者,正在制作一款基于文本的冒险游戏。我正在为比赛设置时间系统。我想在游戏中每过一秒就增加一分钟。因此,本质上,我希望在执行其余代码的同时无限期地运行循环


这就是我目前所拥有的。它似乎是在循环和增加存储时间,但它并没有继续它下面的一切。我怎样才能解决这个问题?谢谢大家!

我建议您使用多线程概念。通过使用多线程,您可以让这个无限循环在单独的线程中运行,其余代码将不间断地继续运行

另外,如果您想共享此线程和脚本中的一些变量,请不要忘记使用全局变量


一些参考链接:

我建议您使用多线程概念。通过使用多线程,您可以让这个无限循环在单独的线程中运行,其余代码将不间断地继续运行

另外,如果您想共享此线程和脚本中的一些变量,请不要忘记使用全局变量


一些参考链接:

欢迎使用Stack Exchange

尝试:


每1秒更新一次变量分钟。

欢迎使用堆栈交换

尝试:


每1秒更新一次变量Mins。

要回答您的问题,您需要研究线程。然而,有一种更简单的方法,使用简单的计算——你可以在游戏开始后以秒为单位计算时间增量。这是一个相当广泛的问题。本质上,您需要(至少)两个线程;一个用于增加时间变量,另一个用于在使用对时间变量的只读访问时运行游戏。这就变成了同步访问变量的问题,因此一次只有一个线程尝试读取或写入变量,这可以通过使用各种锁定机制来解决,或者通过编写asynchrouns协程,在更新变量和在单个线程中运行游戏之间进行权衡。注意:到目前为止,您还没有实际包含以下内容:)(或者根据需要实时计算游戏时间的第三个选项,而不是按照@buran的建议显式跟踪游戏时间。)假设OP的代码等待同步
input()
call…来回答您的问题,多线程对OP的代码没有多大帮助-您需要研究线程。然而,有一种更简单的方法,使用简单的计算——你可以在游戏开始后以秒为单位计算时间增量。这是一个相当广泛的问题。本质上,您需要(至少)两个线程;一个用于增加时间变量,另一个用于在使用对时间变量的只读访问时运行游戏。这就变成了同步访问变量的问题,因此一次只有一个线程尝试读取或写入变量,这可以通过使用各种锁定机制来解决,或者通过编写asynchrouns协程,在更新变量和在单个线程中运行游戏之间进行权衡。注意:到目前为止,您还没有实际包含以下内容:)(或者根据需要实时计算游戏时间的第三个选项,而不是按照@buran的建议显式跟踪游戏时间。)假设OP的代码在等待同步
input()
调用时,多线程不会有多大帮助。。。
Mins = 0 ##Assign the variable Mins

def Update_Timer():
    Mins = Mins + 1 ##Add 1 to the Mins.

clock.schedule_interval(Update_Timer, 1.0) ##Every 1.0 Seconds, run Update_Timer()