這裡列出的答案不是來自官方資源,是我自己做的練習,可能有誤。
2-15.
元素排序。
(a)讓使用者輸入三個數值並分別將它們報存到3個不同的變數中。不使用列表或排序演算法,自己寫代碼來對三個數由小到大排序。
(b)修改(a)的解決方案,使之從大到小排序。
【答案】
代碼如下:
SortList = [0, 1, 2]
for i in range(0,3):
print 'Please input the No.', i+1, 'number to be sort'
SortList[i] = float(raw_input())
print SortList
if SortList[0] < SortList[1]:
i = SortList[0]
SortList[0] = SortList[1]
SortList[1] = i
if SortList[0] < SortList[2]:
i = SortList[0]
SortList[0] = SortList[2]
SortList[2] = i
if SortList[1] < SortList[2]:
i = SortList[1]
SortList[1] = SortList[2]
SortList[2] = i
print SortList
【注】這段代碼是從大到小排序,如果想修改成從小到大,把小於符號換成大於符號就可以了。
2-16.
檔案。鍵入2.15節的檔案顯示的代碼,然後運行它。看看能否在你的系統上正常工作。然後試一下其他的輸入檔案。
【答案】
代碼如下:
>>> filename = raw_input('Enter file name: ')
Enter file name: c:\test.txt
>>> fobj = open(filename, 'r')
>>> for eachLine in fobj:
... print eachLine,
...
This is an apple.
>>> fobj.close()
>>>
【注】這裡假設有一個名為test.txt的檔案在C盤的根目錄下。