《Python核心編程》第二版第97頁第五章練習 續五

來源:互聯網
上載者:User

和大家分享自己完成的《Python核心編程》答案。
因為不是來自官方資源,是自己的的練習,可能有誤或者並非最好的解決辦法。

5-16.
家庭財務。給定一個初始金額和月開銷數,使用迴圈,確定剩下的金額和當月的支出數,包括最後的支出數。Payment()函數會用到初始金額和月額度,輸出結果應該類似下面的格式(例子中的數字僅用於示範)。
Enter opening balance: 100.00
Enter monthly payment:  16.13

           Amount Remaining
Pymt#   Paid      Balance
-----   ----      -------
0 $ 0.00   $100.00
1 $16.13    $ 83.87
2 $16.13    $ 67.74
3 $16.13    $ 51.61
4 $16.13    $ 35.48
5 $16.13    $ 19.35
6 $16.13    $  3.22
7 $ 3.22    $  0.00
【答案】
代碼如下:
balance = float(raw_input("Enter opening balance: ... "))
payment = float(raw_input("Enter monthly payment: ... "))
pymt = 1
print '          Amount Remaining'
print 'Pymt#          Paid        Balance'
print '-----          ------      -----------'
print '%4d%15.2f%15.2f' % (0, 0.00, 100)
while (balance - payment*pymt ) >= 0:
    pymt = pymt + 1
    print '%4d%15.2f%15.2f' % (pymt - 1, payment, (balance - payment*(pymt - 1)))
print '%4d%15.2f%15.2f' % (pymt, (balance - payment*(pymt - 1)), 0)
  

5-17.
*隨機數。熟讀隨機數模組然後解下面的題。產生一個有N個元素的由隨機數n組成的列表,其中N和n的取值範圍分別為(1 < N <= 100)和(0 <= n <= 2**31 - 1)。然後再隨機從這個列表中取N(1 <= N <= 100)個隨機數出來,對他們排序,然後顯示這個子集。
【答案】
代碼如下:
import random
big_n = random.randint(1, 101)

list = range(big_n)

for i in range(big_n):
    list[i] = random.randint(-1, 2**31)

print big_n
print list
list.sort()
print list

【參考】列表(list)和字典(dict)資料排序
http://www.javaeye.com/topic/117279
Python 列表(list)操作
http://www.pythonclub.org/python-basic/list
python中的列表排序操作
http://www.ej38.com/showinfo/Python-108670.html
Python隨機數模組的相關模組代碼的具體介紹
http://developer.51cto.com/art/201003/190410.htm

【推薦】Capricorn的實驗室 軟體測試工作者的blog
http://www.cnblogs.com/yd1227/

關鍵詞:Pyhon核心編程練習答案 非官方 部落格園

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.