我对python中的while循环有疑问。 我想制作一个在一定时间内执行while循环的程序。我想添加一个额外的功能,当程序运行时,可以通过按一个随机键来改变某个变量。
from time import sleep
import time
i=0
a=0
while i<10:
i=i+1
i=i+a
a=a+1
time.sleep(1)
print i
我想通过按任意键将变量a重置为0.如果没有按下按钮,循环应该继续不变。我应该添加什么命令?
由于 编辑:我试过了:
import pygame
from pygame.locals import *
import time
i=0
a=0
pygame.init()
while i<10:
pygame.event.get()
i=i+a
print i
keys = pygame.key.get_pressed()
if keys[K_ESCAPE]:
i=0
i=i+1
time.sleep(1)
pygame.quit()
但是现在按下按钮没有任何反应。我错过了什么?
答案 0 :(得分:0)
您需要的是非阻塞输入功能
while i<10:
keys = pygame.key.get_pressed()
etc
...
pygame内置了各种各样的事件,所以不需要做自己线程的所有艰苦工作。
如果这不起作用,请查看:http://www.darkcoding.net/software/non-blocking-console-io-is-not-possible/
答案 1 :(得分:0)
你可以使用curses.Excellent doc在这里: http://docs.python.org/dev/howto/curses.html#user-input