Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/314.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_Python 3.x_Multithreading_Function_Concurrency - Fatal编程技术网

Python:运行并发增量函数时出现问题

Python:运行并发增量函数时出现问题,python,python-3.x,multithreading,function,concurrency,Python,Python 3.x,Multithreading,Function,Concurrency,我正在Mu上开发一个类似cookieclicker的增量游戏脚本。每次输入“.”时,它会将名为“dots”的变量增加1。但是,我在同时运行一个函数时遇到了问题,这个函数每秒增加一个“dots”变量 import threading import time dots = 0 def func1(): global dots while True: user_input = input() if user_input == '.':

我正在Mu上开发一个类似cookieclicker的增量游戏脚本。每次输入“.”时,它会将名为“dots”的变量增加1。但是,我在同时运行一个函数时遇到了问题,这个函数每秒增加一个“dots”变量

import threading
import time
dots = 0

def func1():
    global dots
    while True:
        user_input = input() 
        if user_input == '.':
            dots = dots + 1
            print(dots)

def func2():
    global dots
    while True:
        time.sleep(1)
        dots = dots + 1
        print(dots)

func1_thread = threading.Thread(target=func1)
func2_thread = threading.Thread(target=func2)

if __name__ == '__main__':
    func1_thread.start()
    func2_thread.start()
此代码会导致用户每次输入“.”时出现语法错误:

文件“”,第1行
.
^
SyntaxError:无效语法

提前感谢您对我的帮助


(修复了这个问题,我运行的python版本是3.6,所以我在3.9版上切换到pycharm,效果很好。)

您是如何运行这个的?它是否来自交互式Python shell?很可能您的程序使用了一个“.”,然后shell获取下一个,并说这是一个语法错误。当我在Linux控制台/终端上运行它时,它会正常工作。Glen,我正在脚本上运行它。您确定这是Python 3吗?似乎您对
input
的调用正在评估用户的输入,在Python 2中就是这样。Davis,我在Windows PowerShell上检查过,它说它正在3.9.0版上运行。您是如何运行它的?它是否来自交互式Python shell?很可能您的程序使用了一个“.”,然后shell获取下一个,并说这是一个语法错误。当我在Linux控制台/终端上运行它时,它会正常工作。Glen,我正在脚本上运行它。您确定这是Python 3吗?您对
input
的调用似乎是在评估用户的输入,在Python 2中就是这样。Davis,我在Windows PowerShell上检查过,它说它在3.9.0版上运行