下面的代碼IM試圖實現一個例子:如何在第二次調用方法時添加到列表中而不覆蓋它?
def notes():
print "\nPlease enter any notes:"
global texts
texts = []
if not texts:
print "no notes exist."
write_note()
else:
print "this note already exists"
def write_note():
while True:
global txt
txt = raw_input(">>> ")
if not txt:
break
else:
texts.append(txt)
print "\nNote(s) added to report."
notes_menu()
def print_note():
new_report.write("\nNotes:")
for txt in texts:
new_report.write("\n-%r" % txt)
print "Note Printed to %r. Goodbye!" % file_name
exit(0)
我的目標在這裏是爲了使它所以如果/當「筆記()」被稱爲第二個(或無限)時間的新的投入是添加到「文本」列表並且不覆蓋列表。我試圖至少確定在調用「notes()」時列表是否爲空。但每次我這樣做,無論在上次調用期間在「文本」中創建了多少項目,它總是打印出「不存在註釋」。
在這一點上我有點虧本。我已經看了字典功能,但我不知道如何將其納入此代碼。任何人有任何意見/建議?
發現你爲什麼做'txt'全球? – Blender
刪除'texts = []'。 – grc
這看起來好像將它組織爲一個名爲'Notes'的類的方法,並帶有'self.texts'屬性。然而,我對它做的事情感到有些困惑(看起來像'note()'被調用,但是任何註釋已經存在,它會說'請輸入任何註釋:\ n這個註釋已經存在',甚至不允許任何輸入。)並且不清楚'new_report'或'notes_menu'是什麼。 –