奇怪的错误导致没有响应

时间:2014-11-21 16:54:11

标签: python pygame

envface1=pygame.image.load(p1)
envface2=pygame.image.load(p2)
envface1=pygame.transform.scale(envface1,(768,400))
envface2=pygame.transform.scale(envface2,(768,400))
start = timeit.default_timer()
window.blit(txt[0],(0,0))
window.blit(envface1,(0,400))
window.blit(envface2,(800,400))
pygame.display.flip()
display=False
while not display:
    #delete the print will make it no responding
    print
    keys=pygame.key.get_pressed()
    if keys[pygame.K_LEFT]:
        display=True
        print "1"
    if keys[pygame.K_RIGHT]:
        display=True
        print "2"
end=timeit.default_timer()
print end-start

pygame.quit()

对于这部分代码,我试图制作一些用户可以选择他们喜欢的图片并打印结果的东西。但是在while循环中,当我用" print"删除该行时只运行它,程序将关闭并使其无响应。为什么会这样?

1 个答案:

答案 0 :(得分:1)

正如Cyber​​所解释的那样,当display为假时,你有一个while循环。但是,由于您不会在循环内部修改display,因此您有效地创建了无限循环。

您对程序无法响应的观察是由于无限循环中没有任何事情发生,除非按下某个键。