簡體   English   中英

即使在物理循環之前,Python的“打印”也會在while循環之后出現?

[英]Python “print” coming after while loop even though it's physically before?

我在弄亂一些python(在使用動態語言工具包的eclipse中),即使我在while循環之前的一行上有print命令,我也必須輸入值並鍵入“ 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()

我認為這是您要在其中執行環境的“功能”。從命令行運行時,我看到的正是您所期望的:

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

如果我不得不猜測,我會說您的終端正在緩沖所有輸出,直到程序結束,然后立即將其全部刷新到屏幕上。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM