2-1 變量, PRint 和字符串格式化運算符。啟動交互式解釋器。給一些變量賦值(字符串,數(shù)值等等)并通過輸入變量名顯示它們的值。再用 print 語句做同樣的事。這二者有何區(qū)別? 也嘗試著使用字符串格式運算符 %, 多做幾次, 慢慢熟悉它。
print來顯示變量的內(nèi)容,僅用變量名時,輸出的字符串使用單引號括起來的,這是為了讓非字符串對象也能以字符串的方式顯示在屏幕上,print語句使用str()函數(shù)顯示對象,交互解釋器調(diào)用repr()函數(shù)來顯示對象
#!/usr/bin/env python
1+2*4
(a) 你認為這段腳本是用來做什么的?
(b) 你認為這段腳本會輸出什么?
(c) 輸入以上代碼,并保存為腳本,然后運行它。它所做的與你的預(yù)期一樣嗎?為什么為什么一
樣/不一樣?
(d) 這段代碼單獨執(zhí)行和在交互解釋器中執(zhí)行有何不同?試一下,然后寫出結(jié)果
(e) 如何改進這個腳本, 以便它能和你想像的一樣工作?為什么一樣/不一樣?


(a) 創(chuàng)建一段腳本使用 raw_input() 內(nèi)建函數(shù)從用戶輸入得到一個字符串,然后顯示這個
用戶剛剛鍵入的字符串。
(b) 添加一段類似的代碼,不過這次輸入的是數(shù)值。將輸入數(shù)據(jù)轉(zhuǎn)換為一個數(shù)值對象,
(使
用 int()或其它數(shù)值轉(zhuǎn)換函數(shù)) 并將這個值顯示給用戶看。(注意,如果你用的是早于 1.5 的版
本,你需要使用 string.ato*() 函數(shù)執(zhí)行這種轉(zhuǎn)換)
#!/usr/bin/env pythonstring =raw_input("please type the string:/n")print string


#!/usr/bin/env pythonstring =input("please type the string:/n")print stringprint type(string)


2-5
循環(huán)和數(shù)字
分別使用 while 和 for 創(chuàng)建一個循環(huán):
(a) 寫一個 while 循環(huán),輸出整數(shù)從 0 到 10。
(要確保是從 0 到 10, 而不是從 0 到 9 或
從 1 到 10)
(b) 做同 (a) 一樣的事, 不過這次使用 range() 內(nèi)建函數(shù)。
#!/usr/bin/env pythoni=0while i<=10: print i i+=1


#!/usr/bin/env pythonfor counter in range(11): print counter


條件判斷
判斷一個數(shù)是正數(shù),還是負數(shù), 或者等于 0. 開始先用固定的數(shù)值,然
后修改你的代碼支持用戶輸入數(shù)值再進行判斷。
#!/usr/bin/env pythonvalue=input("please type the value:/n")if value>0: print "This number is positive"elif value<0: print "This number is negative"else: print "This number is zero"


循環(huán)和字串
從用戶那里接受一個字符串輸入,然后逐字符顯示該字符串。先用 while 循
環(huán)實現(xiàn),然后再用 for 循環(huán)實現(xiàn)。
#!/usr/bin/env python#-*- coding:utf-8 -*-string =raw_input("please type the string:/n")print "for循環(huán)完成逐字符顯示字符串"for i in string: print iprint "while循環(huán)完成逐字符顯示字符串"j=0while j<len(string): print string[j] j+=1


#!/usr/bin/env python#-*- coding:utf-8 -*-aList =[1,2,3,4,5]j=0print "for循環(huán)實現(xiàn)輸出列表的和"for i in aList: print i j+=iprint jprint "while 循環(huán)實現(xiàn)輸出列表的和"j=0i=0while i<len(aList): j+=aList[i] print aList[i] i+=1print j


精確的結(jié)果。 float()內(nèi)建函數(shù)可以幫助你實現(xiàn)這一功能。
#!/usr/bin/env python#-*- coding:utf-8 -*-aList =(1,3,3)j=0print "for循環(huán)實現(xiàn)輸出列表的和"for i in aList: print i j+=icounter =float(len(aList))print "平均值為:",j/counterprint "while 循環(huán)實現(xiàn)輸出列表的和"j=0i=0while i<len(aList): j+=aList[i] print aList[i] i+=1print jprint "平均值為:",j/counter


#!/usr/bin/env python#-*- coding:utf-8 -*-while True: i =input("please type the number:/n") if(0<i<100): print"success!" break else: pass

#!/usr/bin/env python#-*- coding:utf-8 -*-myList =[]i=0sum=0while i<5: counter=input("please enter the number:/n") myList+=[counter] i+=1while True: print""" (1)取五個數(shù)的和 (2)取五個數(shù)的平均值 (3)退出 """ choose=input("please enter your choose:/n") if choose==1: for j in range(len(myList)): sum+=myList[j] print sum elif choose==2: for j in range(len(myList)): sum+=myList[j] print sum/(len(myList)+1) elif choose==3: break


dir()內(nèi)建函數(shù)
(a) 啟動 Python 交互式解釋器, 通過直接鍵入 dir()回車以執(zhí)行 dir()內(nèi)建函數(shù)。你看到
什么? 顯示你看到的每一個列表元素的值,記下實際值和你想像的值
(b) 你會問, dir()函數(shù)是干什么的?我們已經(jīng)知道在 dir 后邊加上一對括號可以執(zhí)行 dir()
內(nèi)建函數(shù), 如果不加括號會如何? 試一試。 解釋器返回給你什么信息? 你認為這個信息表
示什么意思 ?
(c) type() 內(nèi)建函數(shù)接收任意的 Python 對象做為參數(shù)并返回他們的類型。 在解釋器中鍵
入 type(dir), 看看你得到的是什么?
(d) 本練習(xí)的最后一部分, 我們來瞧一瞧 Python 的文檔字符串。 通過 dir.__doc__ 可
以訪問 dir()內(nèi)建函數(shù)的文檔字符串。print dir.__doc__可以顯示這個字符串的內(nèi)容。 許多內(nèi)建
函數(shù),方法,模塊及模塊屬性都有相應(yīng)的文檔字符串。我們希望你在你的代碼中也要書寫文檔
字符串, 它會對使用這些代碼的人提供及時方便的幫助。

利用 dir() 找出 sys 模塊中更多的東西。
(a) 啟動 Python 交互解釋器,執(zhí)行 dir()函數(shù),然后鍵入 import sys 以導(dǎo)入 sys 模塊。
再次執(zhí)行 dir()函數(shù)以確認 sys 模塊被正確的導(dǎo)入。 然后執(zhí)行 dir(sys) , 你就可以看到 sys
模塊的所有屬性了。
(b) 顯示 sys 模塊的版本號屬性及平臺變量。記住在屬性名前一定要加 sys. ,這表示
這個屬性是 sys 模塊的。其中 version 變量保存著你使用的 Python 解釋器版本, platform
屬性則包含你運行 Python 時使用的計算機平臺信息。
(c) 最后, 調(diào)用 sys.exit() 函數(shù)。 這是一種熱鍵之外的另一種退出 Python 解釋器的方
式 。




print (-2*4)+(3**2)(a)讓用戶輸入三個數(shù)值并將分別將它們保存到 3 個不同的變量中。不使用列表或排序算法,自己寫代碼來對這三個數(shù)由小到大排序。(b)修改(a)的解決方案,使之從大到小排序
#!/usr/bin/env python#-*-coding:utf-8-*-number1 =input("請輸入第一個數(shù)值!:/n")number2 =input("請輸入第二個數(shù)值!:/n")number3 =input("請輸入第三個數(shù)值!:/n")if number1>number2: number2,number1=number1,number2if number1>number3: number3,number1=number1,number3if number2>number3: number3,number2=number2,number3print number1,number2,number3number1,number2,number3=number3,number2,number1print number1,number2,number3


新聞熱點
疑難解答