以下代码给出了IPython的意外结果:
from multiprocessing.pool import ThreadPool
from threading import Lock
def checkinput(anwser):
ilock.acquire()
testVar = raw_input("Input {0}:".format(anwser))
result='right' if anwser==testVar else 'wrong'
print(result)
ilock.release()
return result
answerList=['a','b','c']
ilock=Lock()
pool=ThreadPool(2)
reslist=pool.map(checkinput, answerList)
IPython中的输出:
Input a:a
Input b:b
Input c:c
right
right
right
我期待这样的结果:
Input a:a
right
Input b:b
right
Input c:c
right
有可能吗?谢谢!
答案 0 :(得分:0)
我通过更换“显示器”找到了解决方法。到'打印' 然而,这对我来说很奇怪,为了更好的解决方案而开放。
显示屏显示单引号:
Input a:a
'right'
Input b:b
'right'
Input c:c
'right'