1.關鍵知識點
1.python中的相等意味著1.兩個不同的名字關聯的對象,具有相同的值2.兩個不同的名字與同一個對象(具有相同ID的對象)關聯==檢查兩個名稱引用的對象是否具有相同的值is檢查兩個名字是否引用同一個對象2.比較兩個浮點數是不是相等應該用(x-y)< 1.0000001,而不能用x==y,否則可能會得到錯誤的結果3.python的牛叉之處:比較X是不是大於等於A小於等於B的時候用 A <= X <= B;這一點和其他的程式設計語言不同4.Python的賦值與其他程式設計語言的不同之處在於python支援多重賦值;比如 aInt, bInt, cInt = 15, 10, 17等價於: aInt = 15 bInt = 10 cInt = 175.Python交換兩個變數的值可以用:>>> aInt = 2>>> bInt = 3>>> aInt,bInt = bInt,aInt這種用法很便捷,不用自己定義中間變數了6.python中while語句後面可以使用else從句while 條件判斷: 語句塊else : 語句塊在上述語句中,即使while一次不執行,程式直接執行else語句,這種執行方式類似於do while語句,while迴圈結束時的else語句,可以視為迴圈正常結束時的清理動作。7.for語句也可以else語句塊中止,可可以和break和continue一塊使用 for target in object: # statementSuite1 if boolenExpression1: break if boolenExpression2: continue else: statementSuite2for迴圈正常退出後,執行else塊break語句提供了for迴圈的異常退出,跳過else子句continue語句終止目前的迴圈異常,繼續迴圈餘下的部分
2.課後習題:2.1有多少個三位元字能被17整除?編寫程式,將這些數字顯示出來
#all triple digits that can be divided exactly by 17count = 0for num in range(100,1000): if(num % 17 == 0): print num, count = count +1print print "Total number is:",count
2.2連續整數之和:
(a)寫一個程式,提示輸入整數X,然後計算從1開始,連續X哥整數之和。也就是說,如果X = 5,要計算1+2+3+4+5 = 15
sum = 0count = 1num = raw_input("input an Integer:")num = int(num)while count <=num: print count, sum = sum + count if(count != num): print "+", count = count + 1 print "=",sum
(b)改寫程式,使用迴圈嵌套的方式計算連續整數和。例如,如果輸入5,輸出來內需5個數位和:
1=11+2=31+2+3=61+2+3+4=101+2+3+4+5=15
sum = 0count = 1num = raw_input("Enter an integer:")num = int(num)while(count <= num): sum = sum + count count = count + 1 print sum,",",
(c)再次修改程式,如果得到的和能被運算元的數目(X)整除,顯示和的值。
sum = 0count = 1num = raw_input("Enter an integer:")num = int(num)while(count <= num): sum = sum + count count = count + 1if(sum % num == 0): print sum
2.6.編寫一個程式,提示輸入一個整數,並顯示此整數。如果輸入的不是整數,程式將一直提示要求輸入整數。
num = raw_input("Input an Integer:")while(num.isdigit() != True): print "Error: try again. ", num = raw_input("Input an Integer:")else: print "The Ingeger is",num
3.編程項目3.2 摺紙有多厚從報紙中抽出一張,對摺,再對摺,繼續對摺。可以把它摺疊30次嗎?假設可以摺疊30次,請問厚度為多少?假設紙的厚度是1/200厘米.
height = 1.0/20000;times = raw_input("Input the times to fold:")times = int(times)height = height * 2**timesprint "After fold,the height is :",height