Python" print"虽然它在身体之前,但是在循环之后?

时间:2014-09-04 22:22:34

标签: python python-2.7

我正在搞乱一些python(在使用动态语言工具包的eclipse中),即使我在while循环之前有一行打印命令,我必须输入值并在打印所有内容之前输入“done”,然后它会打印提示和值。我尝试过使用内置的raw_input()提示也无济于事。这只是编辑器的一个问题,还是我的代码有问题?

class squareNums:
def __init__(self):
    self.nums = []
    self.getInput()

def getInput(self):
    print ('Enter values individually, then type "done" when finished')
    while True:
        var = raw_input()
        if var == 'done':
            break
        else:
            self.nums.append(var)
    print self.nums

squareNums()

1 个答案:

答案 0 :(得分:2)

我认为这是您正在执行它的环境的“功能”。从命令行运行时,我会看到您期望的内容:

$ python /tmp/tester.py
Enter values individually, then type "done" when finished
123
123
132
123
done
['123', '123', '132', '123']

如果我不得不猜测,我会说你的终端正在缓冲所有输出,直到程序结束,然后立即将它全部刷到屏幕上。