国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

python核心編程2第二章課后練習(xí)

2019-11-14 17:35:46
字體:
供稿:網(wǎng)友

2-1 變量, PRint 和字符串格式化運算符。啟動交互式解釋器。給一些變量賦值(字符串,數(shù)值等等)并通過輸入變量名顯示它們的值。再用 print 語句做同樣的事。這二者有何區(qū)別? 也嘗試著使用字符串格式運算符 %, 多做幾次, 慢慢熟悉它。

    print來顯示變量的內(nèi)容,僅用變量名時,輸出的字符串使用單引號括起來的,這是為了讓非字符串對象也能以字符串的方式顯示在屏幕上,print語句使用str()函數(shù)顯示對象,交互解釋器調(diào)用repr()函數(shù)來顯示對象

2-2程序輸出, 閱讀下面的 Python 腳本:

#!/usr/bin/env python

1+2*4

(a) 你認為這段腳本是用來做什么的?

(b) 你認為這段腳本會輸出什么?

(c) 輸入以上代碼,并保存為腳本,然后運行它。它所做的與你的預(yù)期一樣嗎?為什么為什么一

樣/不一樣?

(d) 這段代碼單獨執(zhí)行和在交互解釋器中執(zhí)行有何不同?試一下,然后寫出結(jié)果

(e) 如何改進這個腳本, 以便它能和你想像的一樣工作?為什么一樣/不一樣?

(a)運算1+2*4
(b)只會做運算不會輸出
(c)運算未顯示結(jié)果
(d)交互解釋器輸入一段語句后會返回語句結(jié)果
(e)print ‘1+2*4’
 
2-3數(shù)值和運算符。啟動交互解釋器,使用 Python 對兩個數(shù)值(任意類型)進行加、減、乘、除運算。然后使用取余運算符來得到兩個數(shù)相除的余數(shù), 最后使用乘方運算符求 A 數(shù)的 B 次方。
 
2-4
使用 raw_input()函數(shù)得到用戶輸入

(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)換)

(a)
#!/usr/bin/env pythonstring =raw_input("please type the string:/n")print string
(b)
#!/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ù)。

(a)
#!/usr/bin/env pythoni=0while i<=10:        print i        i+=1

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

2-6

條件判斷

判斷一個數(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"

2-7

循環(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

2-8 循環(huán)和運算符。創(chuàng)建一個包含五個固定數(shù)值的列表或元組,輸出他們的和。然后修改你的代碼為接受用戶輸入數(shù)值。 分別使用 while 和 for 循環(huán)實現(xiàn)。
#!/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

2-9 循環(huán)和運算符 創(chuàng)建一個包含五個固定數(shù)值的列表或元組,輸出他們的平均值。本練習(xí)的難點之一是通過除法得到平均值。 你會發(fā)現(xiàn)整數(shù)除會截去小數(shù),因此你必須使用浮點除以得到更

精確的結(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

2-10 帶循環(huán)和條件判斷的用戶輸入 使用 raw_input()函數(shù)來提示用戶輸入一個 1 和 100 之間的數(shù),如果用戶輸入的數(shù)滿足這個條件,顯示成功并退出。否則顯示一個錯誤信息然后再次提示用戶輸入數(shù)值,直到滿足條件為止。
#!/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

 
2-11 帶文本菜單的程序 寫一個帶文本菜單的程序,菜單項如下(1)取五個數(shù)的和 (2) 取五個數(shù)的平均值....(X)退出。由用戶做一個選擇,然后執(zhí)行相應(yīng)的功能。當(dāng)用戶選擇退出時程序結(jié)束。這個程序的有用之處在于用戶在功能之間切換不需要一遍一遍的重新啟動你的腳本。(這對開發(fā)人員測試自己的程序也會大有用處)
#!/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

2-12

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)的文檔字符串。我們希望你在你的代碼中也要書寫文檔

字符串, 它會對使用這些代碼的人提供及時方便的幫助。

a.
獲得當(dāng)前模塊的屬性列表
['__builtins__', '__doc__', '__name__']
b.
dir
<built-in function dir>
會顯示內(nèi)建函數(shù)dir
c.
看見類型為內(nèi)建函數(shù)方法
<type 'builtin_function_or_method'>
d.
 
2-13

利用 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 解釋器的方

式 。

a.
 
b.
 
c.
 
2-14 重寫 2.4 小節(jié)中 print 語句里的算術(shù)表達式, 試著在這個表達式中添加合適的括號以便它能正常工作
print (-2*4)+(3**2)
2-15 元素排序

(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


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 秦皇岛市| 会昌县| 汪清县| 乐陵市| 潮安县| 澜沧| 昭觉县| 台南市| 堆龙德庆县| 当阳市| 麻栗坡县| 张家港市| 茶陵县| 甘德县| 凤阳县| 明溪县| 柳江县| 凌云县| 鄂州市| 毕节市| 额尔古纳市| 五大连池市| 若尔盖县| 永宁县| 靖宇县| 营口市| 天祝| 汶川县| 陈巴尔虎旗| 天镇县| 龙山县| 永年县| 丹东市| 永安市| 南昌市| 获嘉县| 剑川县| 邵东县| 瑞安市| 博客| 得荣县|