我正在搞乱一些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()
答案 0 :(得分:2)
我认为这是您正在执行它的环境的“功能”。从命令行运行时,我会看到您期望的内容:
$ python /tmp/tester.py
Enter values individually, then type "done" when finished
123
123
132
123
done
['123', '123', '132', '123']
如果我不得不猜测,我会说你的终端正在缓冲所有输出,直到程序结束,然后立即将它全部刷到屏幕上。