num = 0
for x in s:
if x in 'aeiou':
num += 1
print 'number of vowels:' + str(num)
單詞出現次數 or只記一次,利用
in重複計算
num = 0
i = 0
for i in range(len(s)):
if s[i:i+3] == 'bob':
num += 1
print 'number of vowels:' + str(num)
利用切片計算片語出現次數
balance =
#欠款annualinterestrate =
#年利率
monthlypaymentrate =
#月最低還款
mma = annualinterestrate/12.0
#月利率
month = 0
#月 可刪除
mmp = 0
#月還款 可刪除
tp = 0
#總還款
for month in range(1,13):
mmp = balance * monthlypaymentrate
#月還款=欠款
*月最低還款
rb = (balance-mmp)*mma + (balance - mmp)
#優化rb = (balance-mmp)*(1+mma)
print 'month:' + str(month)
print 'minimum monthly payment:' + str(round(mmp,2))
print 'remaining balance:' + str(round(rb,2))
balance = rb
#欠款=待還款
tp += mmp
#總還款累加
print 'total paid:' + str(round(tp,2))
print 'remaining balance:' + str(round(rb,2))
balance =
#欠款annualinterestrate =
#年利率
mma = annualinterestrate/12.0
#月利率
mmp = 0
#初始還款額
while true:
balancex = balance
#設定迴圈初始欠款,每次重新開始
for month in range(12):
balancex -= mmp
#本月欠款額
balancex = balancex*(1+mma)
#下月欠款額
if balancex <= 0.01:
#當欠款為負數結束迴圈
print ' lowest payment ' + str(mmp)
#輸出當前月還款額
break
#結束迴圈
else:
mmp += 10
#條件不成立下月還款增加
balance =
#欠款annualinterestrate =
#年利率
mplb = balance / 12.0
#最小還款
mpub = (balance*((1 + annualinterestrate/12.0)**12.0))/12.0
#最大還款
while true:
balancex = balance
#設定迴圈初始欠款,每次重新開始
mpj = (mplb+mpub)/2.0
#二分法
for month in range(12):
balancex = (balancex-mpj)*(1 + annualinterestrate/12.0)
if abs(balancex) <= 0.01:
print ' lowest payment ' + str(round((mpj),2))
break
elif balancex > 0.01:
mplb = mpj
else:
mpub = mpj
電腦科學和程式設計導論 week2 簡單演算法
week2 簡單演算法 迭代 多次重複方法,一遍重複利用計算多次執行。迴圈結構 逐次逼近法 二分演算法 當型迴圈 while bool值測試 bool值為真,順序執行指令 迴圈外設定 迭代變數 測試變數 改變迴圈內變數 命令break在乙個迴圈中被執行,它會在這個位置停止計算這個迴圈,然後傳遞控制權...
MIT 電腦科學和Python 程式設計導論
其實上一本書 笨辦法學python 嚴格意義上來說,算不上是入門書,因為它主要目的是讓你去找到敲 的感覺,基本不涉及計算機的內容。說到真正的入門,mit的 電腦科學和python程式設計導論 這門課程是個非常好的選擇。對於想要入門python的人來說,這門課程不會讓你失望,但是它能給你的不止於此,其...
電腦科學導論課後總結 2
1 圖靈機的等價機器 繼續上節課沒講完的內容,我知道了,除了圖靈機以外,人們還發明了很多其它的計算模型。包括 暫存器機 遞迴函式 演算 生命遊戲 馬爾可夫演算法。感悟 根據圖靈機的工作原理,可想圖靈機在日常生活中的應用之廣泛,特別是將圖靈機應用於人工智慧,將會取代不少勞動力,另一方面,假設在圖靈機的...