共享數據的主程序/子程序風格:app
一、體系結構圖:spa
二、簡述體系結構各部件的主要功能,實現思想。code
輸入:從文件讀入文章,按行存入集合。blog
循環移動:訪問行集合,循環移動後更新集合。排序
排序:訪問行集合,排序後更新集合。ip
輸出:以輸出流形式輸出行集合。ci
三、寫出主要的代碼input
lineList = [] def input(): fr = open(r"D:\Desktop\KWIC\inputText.txt") print('-----Input-----') for line in fr.readlines(): line = line.strip('\n') print(line) lineList.append(line) def circshift(): for line in lineList: charList = line.split() for i in range(len(charList)): charList = charList[1:] + charList[:1] newLine = ' '.join(charList) if newLine not in lineList: lineList.append(newLine) def sort(): lineList.sort() def output(): print('-----Output-----') for line in lineList: print(line) if __name__ == '__main__': input() circshift() sort() output()
四、顯示結果:it
管道-過濾器風格:class
一、體系結構圖:
二、簡述體系結構各部件的主要功能,實現思想。
輸入:輸入文件,輸入行列表。
循環移動:輸入行列表,輸出循環移動後的擴展列表。
排序:輸入列表,有序輸出原列表。
輸出:輸入列表,以輸出流形式輸出。
三、寫出主要的代碼
def input(fileName): fr = open(fileName) lineList = [] print('-----Input-----') for line in fr.readlines(): line = line.strip('\n') print(line) lineList.append(line) return lineList def circshift(lineList): for line in lineList: charList = line.split() for i in range(len(charList)): charList = charList[1:] + charList[:1] newLine = ' '.join(charList) if newLine not in lineList: lineList.append(newLine) return lineList def sort(lineList): return sorted(lineList) def output(lineList): print('-----Output-----') for line in lineList: print(line) if __name__ == '__main__': fileName = r"D:\Desktop\KWIC\inputText.txt" lineList = input(fileName) extendedList = circshift(lineList) sortedList = sort(extendedList) output(sortedList)
四、顯示結果:
實驗總結
沒遇到什麼問題,由於Python很好用。
人生苦短,我用Python。