Python程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)與習(xí)題集_第1頁
Python程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)與習(xí)題集_第2頁
Python程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)與習(xí)題集_第3頁
Python程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)與習(xí)題集_第4頁
Python程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)與習(xí)題集_第5頁
已閱讀5頁,還剩149頁未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)閱讀全文

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

普通高等院校計(jì)算機(jī)基礎(chǔ)教育“十四五”系列教材

Python程序設(shè)計(jì)

實(shí)驗(yàn)指導(dǎo)與習(xí)題集

主編◎賴慶鐘廣玲

副主編◎陳力顏遠(yuǎn)海龍冰婷陶建敏

內(nèi)?容?簡(jiǎn)?介

本書根據(jù)Python程序設(shè)計(jì)的基礎(chǔ)知識(shí)編排了多個(gè)實(shí)驗(yàn)指導(dǎo),涵蓋了Python語法基礎(chǔ)知識(shí)、

Python流程控制語句、函數(shù)、異常處理方法、字符串操作方法、正則表達(dá)式、文件操作、面

向?qū)ο蟪绦蛟O(shè)計(jì)、Python數(shù)據(jù)分析基礎(chǔ)等知識(shí),結(jié)合“課課有思政”要求,將思政元素融入

各個(gè)知識(shí)點(diǎn),內(nèi)容和案例豐富,針對(duì)性強(qiáng),適合學(xué)生課堂和課后上機(jī)操作使用。本書還根據(jù)

Python程序設(shè)計(jì)的基礎(chǔ)知識(shí)編寫了課外習(xí)題,設(shè)置多種題型,共有594題,包含單選題200題、

多選題60題、填空題100題、判斷題100題和程序設(shè)計(jì)題134題??陀^題和主觀題相互結(jié)合,

知識(shí)點(diǎn)涵蓋全面。

本書提供參考答案和全部的參考代碼,適合作為大數(shù)據(jù)時(shí)代“新工科”背景下高校學(xué)生

學(xué)習(xí)編程語言的重要參考用書,也可以作為全國計(jì)算機(jī)等級(jí)考試備考的參考用書。

圖書在版編目(CIP)數(shù)據(jù)

Python程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)與習(xí)題集/賴慶,鐘廣玲主編.—北京:

中國鐵道出版社有限公司,2022.8

普通高等院校計(jì)算機(jī)基礎(chǔ)教育“十四五”系列教材

ISBN978-7-113-29319-2

Ⅰ.①P…?Ⅱ.①賴…②鐘…?Ⅲ.①軟件工具-程序設(shè)計(jì)-高等

學(xué)校-習(xí)題集?Ⅳ.①TP311.561-44

中國版本圖書館CIP數(shù)據(jù)核字(2022)第111679號(hào)

書名:Python程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)與習(xí)題集

作者:賴慶鐘廣玲

策劃:劉麗麗??????????????????編輯部電話:(010)51873202

責(zé)任編輯:劉麗麗

封面設(shè)計(jì):尚明龍

責(zé)任校對(duì):孫玫

責(zé)任印制:樊啟鵬

出版發(fā)行:中國鐵道出版社有限公司(100054,北京市西城區(qū)右安門西街8號(hào))

網(wǎng)址:/51eds/

印刷:三河市興達(dá)印務(wù)有限公司

版次:2022年8月第1版?2022年8月第1次印刷

開本:787?mm×1?092?mm?1/16?印張:9.5?字?jǐn)?shù):236千

書號(hào):ISBN978-7-113-29319-2

定價(jià):30.00元

版權(quán)所有侵權(quán)必究

凡購買鐵道版圖書,如有印制質(zhì)量問題,請(qǐng)與本社教材圖書營銷部聯(lián)系調(diào)換。電話:(010)63550836

打擊盜版舉報(bào)電話:(010)63549461

前?言

Python是一門面向?qū)ο蟮?、解釋型的高?jí)編程語言。對(duì)于學(xué)習(xí)者而言,“Python

程序設(shè)計(jì)”是一門實(shí)踐性很強(qiáng)的課程。目前,用于Python程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)方

面的書籍較少,所以本教學(xué)團(tuán)隊(duì)決定收集、整理在教學(xué)過程中積累下來的實(shí)驗(yàn)

指導(dǎo)和習(xí)題集,希望對(duì)Python程序設(shè)計(jì)的學(xué)習(xí)者有一些幫助。

本書站在初學(xué)者的角度,循序漸進(jìn)地介紹Python程序設(shè)計(jì)的實(shí)驗(yàn)內(nèi)容和方

法,在編排上,由易到難,由基礎(chǔ)操作到項(xiàng)目開發(fā),符合學(xué)習(xí)者學(xué)習(xí)計(jì)算機(jī)編

程的科學(xué)規(guī)律。

本書內(nèi)容:

本書結(jié)合“課課有思政”要求,將思政元素融入各個(gè)知識(shí)點(diǎn),內(nèi)容和案例豐富,

針對(duì)性強(qiáng),適合學(xué)生課堂和課后上機(jī)操作使用。本書主要內(nèi)容分為兩部分,第

一部分為實(shí)驗(yàn)指導(dǎo);第二部分為習(xí)題集。其中,實(shí)驗(yàn)指導(dǎo)涵蓋了Python語法基

礎(chǔ)知識(shí)、Python流程控制語句、函數(shù)、異常處理方法、字符串操作方法、正則

表達(dá)式、文件操作、面向?qū)ο蟪绦蛟O(shè)計(jì)、Python數(shù)據(jù)分析基礎(chǔ)等知識(shí)。習(xí)題集

的題型包括單選題(200題)、多選題(60題)、填空題(100題)、判斷題(100

題)和程序設(shè)計(jì)題(134題),總共594題,客觀題和主觀題相互結(jié)合,知識(shí)點(diǎn)

涵蓋全面。

本書特點(diǎn):

●將“課課有思政”理念貫穿全書,將思政元素融入各部分知識(shí)點(diǎn)。

●內(nèi)容和案例豐富,針對(duì)性強(qiáng),適合學(xué)生課堂和課后上機(jī)操作使用。

●習(xí)題集的題型豐富,內(nèi)容涵蓋全面。

●提供全部源代碼,以便讀者參考學(xué)習(xí)。

II/Python程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)與習(xí)題集

本書面向的讀者:

●零基礎(chǔ)的編程初學(xué)者

●大數(shù)據(jù)及相關(guān)專業(yè)的學(xué)生

●大數(shù)據(jù)技術(shù)從業(yè)者

●人工智能技術(shù)開發(fā)人員

●對(duì)計(jì)算機(jī)編程感興趣的學(xué)生

教學(xué)使用:

書中的實(shí)驗(yàn)指導(dǎo)可用于課堂上機(jī)實(shí)操練習(xí),每個(gè)實(shí)驗(yàn)指導(dǎo)可供學(xué)習(xí)者大約

60分鐘課堂練習(xí)使用;習(xí)題集可供學(xué)習(xí)者用于課后復(fù)習(xí)、課后知識(shí)的鞏固以及

全國計(jì)算機(jī)等級(jí)考級(jí)備考。

本書作者介紹:

本書由賴慶、鐘廣玲任主編,陳力、顏遠(yuǎn)海、龍冰婷、陶建敏任副主編。

其中賴慶負(fù)責(zé)全書思政案例和全書的統(tǒng)稿工作;鐘廣玲負(fù)責(zé)實(shí)驗(yàn)指導(dǎo)的編寫和

部分程序設(shè)計(jì)題的編寫工作;陳力、顏遠(yuǎn)海、龍冰婷、陶建敏負(fù)責(zé)客觀題、部

分程序設(shè)計(jì)題的編寫和所有習(xí)題的審核工作。

致謝:

本書在編寫過程中,參考了很多相關(guān)的資料,在此對(duì)前輩們的貢獻(xiàn)表示由

衷的感謝。雖作者對(duì)本書內(nèi)容進(jìn)行了反復(fù)修改,但限于水平和時(shí)間的倉促,書

中難免存在不足之處,歡迎讀者批評(píng)指正。

本書的編寫歷時(shí)半載,能順利完成,感謝所有支持我們的朋友!

編者

2022年5月

目錄

上篇實(shí)驗(yàn)指導(dǎo)........................................................................................1

實(shí)驗(yàn)1實(shí)驗(yàn)環(huán)境的搭建.....................................................................................................................1

實(shí)驗(yàn)2標(biāo)準(zhǔn)庫與擴(kuò)展庫中對(duì)象的導(dǎo)入和使用.................................................................................3

實(shí)驗(yàn)3數(shù)字類型.................................................................................................................................5

實(shí)驗(yàn)4運(yùn)算符的使用方法.................................................................................................................7

實(shí)驗(yàn)5列表的操作............................................................................................................................11

實(shí)驗(yàn)6列表推導(dǎo)式的應(yīng)用...............................................................................................................13

實(shí)驗(yàn)7元組的操作與turtle繪制圖形............................................................................................14

實(shí)驗(yàn)8字典的操作...........................................................................................................................17

實(shí)驗(yàn)9集合的操作...........................................................................................................................19

實(shí)驗(yàn)10字符串的操作1..................................................................................................................22

實(shí)驗(yàn)11字符串的操作2.................................................................................................................25

實(shí)驗(yàn)12綜合練習(xí).............................................................................................................................30

實(shí)驗(yàn)13if語句.................................................................................................................................31

實(shí)驗(yàn)14while循環(huán)結(jié)構(gòu)語句...........................................................................................................35

實(shí)驗(yàn)15for語句的使用...................................................................................................................38

實(shí)驗(yàn)16函數(shù)的使用.........................................................................................................................42

實(shí)驗(yàn)17模擬鐘表程序設(shè)計(jì).............................................................................................................44

實(shí)驗(yàn)18遞歸函數(shù).............................................................................................................................47

實(shí)驗(yàn)19文件的操作.........................................................................................................................50

實(shí)驗(yàn)20Pandas可視化....................................................................................................................53

下篇習(xí)題集..........................................................................................59

附錄習(xí)題集答案................................................................................104

上篇實(shí)驗(yàn)指導(dǎo)

實(shí)驗(yàn)1實(shí)驗(yàn)環(huán)境的搭建

【實(shí)驗(yàn)?zāi)康摹?/p>

學(xué)習(xí)JupyterNoteBook的基本用法。

【實(shí)驗(yàn)環(huán)境】

(1)臺(tái)式計(jì)算機(jī)或筆記本計(jì)算機(jī)。

(2)Windows10操作系統(tǒng)。

(3)Anaconda3、編輯工具、瀏覽器等。

【實(shí)驗(yàn)內(nèi)容】

(1)掌握J(rèn)upyterNoteBook的基本用法。

(2)編寫第1個(gè)Python程序。

【實(shí)驗(yàn)步驟】

(1)進(jìn)入平臺(tái)。單擊“開始”按鈕,打開“開始”菜單,單擊“Anaconda3(64-bit)”→

“JupyterNoteBook”命令,如圖1-1所示。

圖1-1選擇“JupyterNoteBook”命令

(2)在新打開的軟件界面中,單擊“New”按鈕,在打開的列表中選擇“Python3”選

項(xiàng),如圖1-2所示,新建Python3文件,開始編寫第一個(gè)Python程序。

2/Python程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)與習(xí)題集

圖1-2新建Python3文件

(3)重命名文件。新建文件默認(rèn)文件名為“Untitled1”,右擊標(biāo)題欄的文件名稱,彈出

快捷菜單,選擇“Rename”,彈出“RenameNotebook”對(duì)話框,輸入新文件名“l(fā)esson01”,

單擊“Rename”按鈕,如圖1-3所示,將文件重命名為“l(fā)esson01”。

圖1-3“RenameNotebook”對(duì)話框

(4)出現(xiàn)圖1-4所示界面后,便可以編寫程序了。

圖1-4編寫程序界面

上篇/實(shí)驗(yàn)指導(dǎo)3

(5)編寫程序,體驗(yàn)print()函數(shù)的多種輸出格式,代碼如圖1-5所示。

圖1-5print()函數(shù)的多種輸出方式

(6)編寫程序,為代碼寫上正確的以#開頭的注釋文字,如圖1-6所示。

圖1-6偽代碼添加注釋文字

(7)課后作業(yè):請(qǐng)?jiān)谧约旱臋C(jī)器上安裝Anaconda,并把課堂上寫的代碼上傳,打開。

實(shí)驗(yàn)2標(biāo)準(zhǔn)庫與擴(kuò)展庫中對(duì)象的導(dǎo)入和使用

【實(shí)驗(yàn)?zāi)康摹?/p>

學(xué)習(xí)標(biāo)準(zhǔn)庫與擴(kuò)展庫中對(duì)象的導(dǎo)入和使用。

【實(shí)驗(yàn)環(huán)境】

(1)臺(tái)式計(jì)算機(jī)或筆記本計(jì)算機(jī)。

(2)Windows10操作系統(tǒng)。

(3)Anaconda3、編輯工具、瀏覽器等。

【實(shí)驗(yàn)內(nèi)容】

掌握標(biāo)準(zhǔn)庫與擴(kuò)展庫中對(duì)象的導(dǎo)入和使用。

【實(shí)驗(yàn)步驟】

(1)打開“Anaconda”→“JupyterNotebook”,繼續(xù)在BianchengPython文件夾下新建

名為lesson02的Python文檔,編寫和運(yùn)行以下代碼:

①輸入如下代碼:

importmath#導(dǎo)入標(biāo)準(zhǔn)庫math

math.gcd(56,64)#計(jì)算最大公約數(shù)

②輸入如下代碼:

importrandom#導(dǎo)入標(biāo)準(zhǔn)庫random

a=random.random()#獲得[0,1]內(nèi)的隨機(jī)小數(shù)

4/Python程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)與習(xí)題集

b=random.randint(1,100)#獲得[0,100]區(qū)間內(nèi)的隨機(jī)整數(shù)

c=random.randrange(1,100,3)#返回[0,100]區(qū)間內(nèi)的隔了3的隨機(jī)整數(shù)

print("a是:",a)

print("b是:",b)

print("c是:",c)

(2)from模塊名import對(duì)象名[as別名],請(qǐng)編寫和運(yùn)行以下代碼:

①輸入代碼如下:

importnumpyasnp#導(dǎo)入擴(kuò)展庫NumPy,設(shè)置別名為np

a=np.array((1,2,3,4))#通過模塊的別名來訪問其中的對(duì)象

print(a)

②輸入代碼如下:

fromrandomimportsample

sample(range(100),10)#在指定范圍內(nèi)選擇不重復(fù)元素10個(gè)

③輸入代碼如下:

fromos.pathimportis?le

is?le(r'C:\windows\notepad.exe')

(3)from模塊名import*,請(qǐng)編寫和運(yùn)行以下代碼:

frommathimport*#導(dǎo)入標(biāo)準(zhǔn)庫math中所有對(duì)象

sin(3)#求正弦值

sqrt(9)#求平方根

pi#常數(shù)

log2(8)#計(jì)算以2為底的對(duì)數(shù)值

log10(100)#計(jì)算以10為底的對(duì)數(shù)值

(4)Python程序的name屬性,請(qǐng)編寫和運(yùn)行以下代碼:

defmain():#def是用來定義函數(shù)的Python關(guān)鍵字

if__name__=='__main__':#選擇結(jié)構(gòu),識(shí)別當(dāng)前運(yùn)行方式

print('Thisprogramisrundirectly.')

elif__name__=='hello':#冒號(hào)、換行、縮進(jìn)表示一個(gè)語句塊的開始

print('Thisprogramisusedasamodule.')

main()#調(diào)用上面定義的函數(shù)

(5)欣賞Python的美,參考代碼如下所示:

importturtle#導(dǎo)入庫,此處后面:學(xué)號(hào)+姓名

foriinrange(20):#使用for語句畫五角星

turtle.forward(i*10)

turtle.right(144)

turtle.done()#五角星

運(yùn)行結(jié)果如下:

上篇/實(shí)驗(yàn)指導(dǎo)5

(6)有基礎(chǔ)的同學(xué)可拓展(選做):繪制同心圓。

代碼如下所示:

#導(dǎo)入相關(guān)模塊

importturtleast

t.setup(400,400)#窗體大小為400×400

defDrawCetCircle(n):

t.penup()

t.goto(0,-n)#走到左邊緣

t.pendown()

t.circle(n)#繪制半徑為n的圓

foriinrange(20,100,20):#根據(jù)不同半徑調(diào)用函數(shù),繪制圓

DrawCetCircle(i)

t.hideturtle()#隱藏箭頭

t.done()#完成

運(yùn)行結(jié)果為:

實(shí)驗(yàn)3數(shù)字類型

【實(shí)驗(yàn)?zāi)康摹?/p>

認(rèn)識(shí)Python編程的數(shù)字類型。

【實(shí)驗(yàn)環(huán)境】

(1)臺(tái)式計(jì)算機(jī)或筆記本計(jì)算機(jī)。

(2)Windows10操作系統(tǒng)。

(3)Anaconda3、編輯工具、瀏覽器等。

【實(shí)驗(yàn)內(nèi)容】

掌握數(shù)字類型及轉(zhuǎn)換。

【實(shí)驗(yàn)步驟】

(1)整數(shù)的操作,編寫代碼如下所示:

x=9#整型變量

type(x)#查看變量x類型

type(x)==int

isinstance(x,int)#內(nèi)置函數(shù)isinstance()測(cè)試變量是否為指定類型

(2)浮點(diǎn)型的操作,編寫代碼如下所示:

y=0.235#浮點(diǎn)型變量

type(y)#查看變量y類型

6/Python程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)與習(xí)題集

(3)布爾類型的操作,編寫代碼如下所示:

z=0.5

type(z)==int#判斷z的類型是整型是否為真

type(z)==?oat#判斷z的類型是浮點(diǎn)型是否為真

(4)復(fù)數(shù)的操作,編寫代碼如下所示:

x=3+4j#使用j或J表示復(fù)數(shù)虛部

y=5+6j

x+y#支持復(fù)數(shù)之間的算術(shù)運(yùn)算

x*y#乘法運(yùn)算

abs(x)#內(nèi)置函數(shù)abs()可用來計(jì)算復(fù)數(shù)的模

x.imag#虛部

x.real#實(shí)部

x.conjugate()#共軛復(fù)數(shù)

(5)舉一反三,請(qǐng)編寫代碼實(shí)現(xiàn):

①如果a=156,b=0.314,請(qǐng)查詢a和b的數(shù)據(jù)類型。

②假如c=5,請(qǐng)判斷c<3的真假。

③假如m=1+2j,請(qǐng)獲取m的實(shí)部和虛部并求m的共軛復(fù)數(shù)。

(6)進(jìn)制轉(zhuǎn)換。bin(x)將x轉(zhuǎn)換為二進(jìn)制數(shù)據(jù);oct(x)將x轉(zhuǎn)換為八進(jìn)制數(shù)據(jù);int(x)

將x轉(zhuǎn)換為十進(jìn)制數(shù);hex(x)將x轉(zhuǎn)換為十六進(jìn)制數(shù)據(jù)的操作。編寫代碼如下所示:

x=10#十進(jìn)制數(shù)

print("將x轉(zhuǎn)換為二進(jìn)制數(shù)是:",bin(x))#將十進(jìn)制的10轉(zhuǎn)換為二進(jìn)制

print("將x轉(zhuǎn)換為八進(jìn)制數(shù)是:",oct(x))#將十進(jìn)制的10轉(zhuǎn)換為八進(jìn)制

y=0b1011#二進(jìn)制數(shù)

print("將y轉(zhuǎn)換為十進(jìn)制數(shù)是:",int(y))#將二進(jìn)制的0b1010轉(zhuǎn)換為十進(jìn)制

print("將y轉(zhuǎn)換為十六進(jìn)制數(shù)是:",hex(y))#將十進(jìn)制的10轉(zhuǎn)換為十六進(jìn)制

(7)數(shù)字類型轉(zhuǎn)換。int(x[,base])將浮點(diǎn)型轉(zhuǎn)換為整型;?oat(x)將x轉(zhuǎn)換為一個(gè)浮點(diǎn)型

數(shù)據(jù);complex(x)將x轉(zhuǎn)換為復(fù)數(shù)類型。編寫代碼如下所示:

a=2

b=2.2

print(int(b))#將浮點(diǎn)型轉(zhuǎn)換為整型

print(?oat(a))#將整型轉(zhuǎn)換為浮點(diǎn)型

print(complex(a))#將浮點(diǎn)型轉(zhuǎn)換為復(fù)數(shù)類型

(8)舉一反三。

①假設(shè)y=19,請(qǐng)將用二進(jìn)制、八進(jìn)制表示。

②在鍵盤上輸入一個(gè)整型數(shù),請(qǐng)將它轉(zhuǎn)換為浮點(diǎn)型和復(fù)數(shù)類型。

③多行注釋。

代碼如下所示:

"""

y=19#十進(jìn)制數(shù)

print("將x轉(zhuǎn)換為二進(jìn)制數(shù)是:",bin(y))#將十進(jìn)制的10轉(zhuǎn)換為二進(jìn)制

print("將x轉(zhuǎn)換為八進(jìn)制數(shù)是:",oct(y))#將十進(jìn)制的10轉(zhuǎn)換為八進(jìn)制

"""

'''

上篇/實(shí)驗(yàn)指導(dǎo)7

m=int(input("請(qǐng)輸入一個(gè)整數(shù):"))#從鍵盤輸入一個(gè)整數(shù)

print(?oat(m))#將整型轉(zhuǎn)換為浮點(diǎn)型

print(complex(m))#將浮點(diǎn)型轉(zhuǎn)換為復(fù)數(shù)類型

'''

(9)拓展1(選做)。輸入整數(shù)n,計(jì)算1~n之和,代碼如下所示:

m=int(input("請(qǐng)輸入一個(gè)整數(shù):"))#從鍵盤輸入一個(gè)整數(shù)

sum=0#設(shè)定初始值為0

foriinrange(m):#for循環(huán)語句

sum+=m

print("1~%d的求和結(jié)果為%d"%(m,sum))#打印輸出結(jié)果

#print("1~%d的求和結(jié)果為:",sum)

(10)拓展2(選做)。整數(shù)排序。接收用戶輸入的3個(gè)整數(shù),并把這3個(gè)數(shù)由小到大輸

出,代碼如下所示:

l=[]#設(shè)置空列表

foriinrange(3):

x=int(input('請(qǐng)輸入整數(shù):'))#從鍵盤輸入一個(gè)整數(shù)后回車鍵,連續(xù)輸入3次

l.append(x)#把整數(shù)加到列表中

l.sort()#對(duì)列表進(jìn)行排序

print(l)#打印列表

(11)拓展3(選做)。打印九九乘法表,代碼如下所示:

foriinrange(1,10):#在1~9之間循環(huán)

forjinrange(1,i+1):

print("%dx%d=%-2d"%(j,i,i*j),end='')

print('')#中間有空格輸出

實(shí)驗(yàn)4運(yùn)算符的使用方法

【實(shí)驗(yàn)?zāi)康摹?/p>

學(xué)習(xí)運(yùn)算符的使用方法。

【實(shí)驗(yàn)環(huán)境】

(1)臺(tái)式計(jì)算機(jī)或筆記本計(jì)算機(jī)。

(2)Windows10操作系統(tǒng)。

(3)Anaconda3、編輯工具、瀏覽器等。

【實(shí)驗(yàn)內(nèi)容】

掌握運(yùn)算符的使用方法。

【實(shí)驗(yàn)步驟】

(1)算術(shù)運(yùn)算符,如+,-,*,/,//,%,**等,代碼如下所示:

a=2

b=8

a+b#加法

a-b#減法

8/Python程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)與習(xí)題集

a*b#乘法

a/b#除法

a//b#整除,取商的整數(shù)部分

a%b#取余

a**b#獲取a的b次冪

(2)賦值運(yùn)算符,編碼操作如下所示:

a=2

b=3

c=2+3

c+=a#等價(jià)于c=c+a

print("c的值是:",c)#打印輸出c

c-=a#等價(jià)于c=c-a

print("c的值是:",c)#打印輸出c

c*=a

print("c的值是:",c)#打印輸出c

c%=a#取余數(shù)

print("c的值是:",c)#打印輸出c

d=2

a=3

d**=a#2的3次方

print("c的值是:",d)#打印輸出d

(3)如果num1=4,num2=3,請(qǐng)問num1+num2,num1-num2,num1*num2,num1/num2,

num1%num2,num1**num2,num1//num2的輸出是什么?請(qǐng)編寫代碼并在機(jī)器上運(yùn)行。代

碼如下所示:

num1=4

num2=3

print(num1+num2)#加

print(num1-num2)#減

print(num1*num2)#乘

print(num1/num2)#除

print(num1%num2)#取余

print(num1**num2)#num1的num2次冪

print(num1//num2)#取整除,商數(shù)

(4)比較運(yùn)算符操作,代碼如下所示:

m=4

n=8

m==n#不成立為False,成立為True

m!=n#m不等于n

m>n#m大于n

m<n#m小于n

(5)假如a=10,b=20,請(qǐng)編寫代碼輸出a==b,a!=b,a<b,a>b,a<=b,a>=b的結(jié)果。

代碼如下所示:

#比較運(yùn)算符

a=10

b=20

上篇/實(shí)驗(yàn)指導(dǎo)9

print(a==b)#比較兩個(gè)元素是否相等,返回一個(gè)bool類型的值

print(a!=b)#比較兩個(gè)元素是否不相等

print(a<b)#比較a是否小于b

print(a>b)#比較a是否大于b

print(a<=b)#比較a是否小于等于b

(6)邏輯運(yùn)算符操作,代碼如下所示:

2+3orNone#左側(cè)表達(dá)式的布爾值為True

0or3+5#左操作數(shù)的布爾值為False

3-3and5

3-4and5

not(3-5)

notFalse

(7)應(yīng)用案例,代碼如下所示:

#邏輯運(yùn)算符

Name1="liu"

PassWd1=123

#and——與(兩者都要滿足才可)

ifName1=="liu"andPassWd1==123:

print("Welcome!")

Name2=""

PassWd2=123

#or——或(兩者滿足其一即可)

ifName2=="liu"orPassWd2==123:

print("你好")

#not——非(取反)

ifnotPassWd2=="123abc":

print("Thepasswdiswrong!")

(8)成員運(yùn)算符,代碼如下所示:

words='abcdefg'

'h'inwords#'h'是否在'abcdefg'中

'g'notinwords#'g'是否不在'abcdefg'

(9)身份運(yùn)算符操作,代碼如下所示:

a=10#定義變量a

b=a#將a引用的內(nèi)存地址賦值給b

aisb#此時(shí)a和b引用的內(nèi)存地址一樣

id(a)#查看a的內(nèi)存地址

id(b)#查看b的內(nèi)存地址

(10)案例應(yīng)用。計(jì)算3個(gè)商品的價(jià)格總和,并輸出結(jié)果,可以自己編寫代碼,以下代

碼僅供參考。

one=?oat(input('掃描的第1個(gè)商品價(jià)格:'))#鍵盤輸入第1個(gè)商品的價(jià)格

two=?oat(input('掃描的第2個(gè)商品價(jià)格:'))#鍵盤輸入第2個(gè)商品的價(jià)格

thr=?oat(input('掃描的第3個(gè)商品價(jià)格:'))#鍵盤輸入第3個(gè)商品的價(jià)格

total=one+two+thr#3個(gè)商品的總價(jià)格

print('總計(jì):%d'%int(total))#打印輸出總價(jià)格

10/Python程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)與習(xí)題集

(11)位運(yùn)算符操作,代碼如下所示:

#位運(yùn)算符

num=5

print(bin(num))#輸出二進(jìn)制,0b表示二進(jìn)制

#按位“與”,對(duì)應(yīng)位都為1,則為1,否則為0.0111&1011=0011

n1=7

n2=11

print(n1&n2)

#按位“或”,對(duì)應(yīng)位有一個(gè)是1,則為1,否則為0.0111|1011=1111

n1=7

n2=11

print(n1|n2)

#按位“異或”,對(duì)應(yīng)位不相同,則為1,否則為0.0111^1011=1100

n1=7

n2=11

print(n1^n2)

#按位“取反”,公式:~x=-x-1

print(~n1)

#左移運(yùn)算符,左移x位,數(shù)值擴(kuò)大為原來的2**x倍

print(n1<<2)

#右移運(yùn)算符,右移x位,數(shù)值縮小為原來的2**x倍

print(n1>>2)

a=4

print(a>>3)

(12)拓展。編寫代碼,繪制圖像如下圖所示:

參考代碼如下所示:

importtkinterastk

#創(chuàng)建應(yīng)用程序窗口

root=tk.Tk()

#創(chuàng)建一個(gè)大小為200x100的畫布,背景顏色為綠色

w=tk.Canvas(root,width=200,height=100,bg='green')

w.pack()

#畫一條藍(lán)色的橫線

w.create_line(20,50,150,50,?ll="blue")

#畫一條紅色的豎線(虛線)

w.create_line(20,70,150,70,?ll="red",dash=(4,4))

#設(shè)置文字字體

font=('微軟雅黑',10,'bold')

#可以添加文字

w.create_text(100,20,text='我愛中國,華商學(xué)子',font=Font)

#啟動(dòng)tkinter主程序

root.mainloop()

上篇/實(shí)驗(yàn)指導(dǎo)11

實(shí)驗(yàn)5列表的操作

【實(shí)驗(yàn)?zāi)康摹?/p>

學(xué)習(xí)列表的操作。

【實(shí)驗(yàn)環(huán)境】

(1)臺(tái)式計(jì)算機(jī)或筆記本計(jì)算機(jī)。

(2)Windows10操作系統(tǒng)。

(3)Anaconda3、編輯工具、瀏覽器等。

【實(shí)驗(yàn)內(nèi)容】

掌握列表的基礎(chǔ)操作。

【實(shí)驗(yàn)步驟】

(1)列表的合法輸入,請(qǐng)輸入以下代碼并運(yùn)行。

[10,20,30,40]

['crunchyfrog','rambladder','larkvomit']

['spam',2.0,5,[10,20]]

[['?les1',200,7],['?le2',260,9]]

[{3},{5:6},(1,2,3)]

(2)列表創(chuàng)建與刪除,請(qǐng)輸入以下代碼并運(yùn)行。

a_list=['a','b','c','d','e']

a_list=[]#創(chuàng)建空列表

list((3,5,7,9,11))#將元組轉(zhuǎn)換為列表

list(range(1,10,2))#將range對(duì)象轉(zhuǎn)換為列表

list('helloworld')#將字符串轉(zhuǎn)換為列表

list({3,7,5})#將集合轉(zhuǎn)換為列表,集合中的元素是無序的

list({'a':3,'b':9,'c':78})#將字典的“鍵”轉(zhuǎn)換為列表

list({'a':3,'b':9,'c':78}.items())#將字典的元素轉(zhuǎn)換為列表

x=list()#創(chuàng)建空列表

x=[1,2,3]

delx#刪除列表對(duì)象

x#對(duì)象刪除后無法再訪問,拋出異常

(3)列表元素訪問的操作,請(qǐng)輸入以下代碼并運(yùn)行。

x=list('Python')#把字符串轉(zhuǎn)換為列表

x

x[1]#索引號(hào)是從0開始,下標(biāo)為1的元素,第二個(gè)元素

x[-3]#下標(biāo)為-3的元素,倒數(shù)第三個(gè)元素

(4)append()、insert()、extend()函數(shù),請(qǐng)輸入以下代碼并運(yùn)行。

x=[1,2,3]

x.append(4)#在尾部追加元素

x

x.insert(0,0)#在指定位置插入元素

x

12/Python程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)與習(xí)題集

x.extend([5,6,7])#在尾部追加多個(gè)元素

x

(5)pop()、remove()函數(shù),請(qǐng)輸入以下代碼并運(yùn)行。

x=[1,2,3,4,5,6,7]

x.pop()#彈出并返回尾部元素

x.pop(1)#彈出并返回指定位置的元素

x=[1,2,1,1,2]

x.remove(2)#刪除第一個(gè)值為2的元素

x

delx[3]#刪除指定位置上的元素

x

(6)count()、index()函數(shù),請(qǐng)輸入以下代碼并運(yùn)行。

x=[1,2,2,3,3,3,4,4,4,4]

x.count(3)#元素3在列表x中的出現(xiàn)次數(shù)

x.index(2)#元素2在列表x中首次出現(xiàn)的索引

x.index(5)

(7)sort()、reverse()函數(shù),請(qǐng)輸入以下代碼并運(yùn)行。

y=list(range(11))#包含11個(gè)整數(shù)的列表

y

importrandom

random.shuf?e(y)#把列表x中的元素隨機(jī)亂序

y

y.sort()#對(duì)x進(jìn)行排序

y

y.reverse()#對(duì)x進(jìn)行倒序排序

y

x.sort(key=lambdaitem:len(str(item)),reverse=True)#按轉(zhuǎn)換成字符串以后

的長度,降序排列

x

#將列表中的age由大到小排序

alist=[{'name':'a','age':20},{'name':'b','age':30},{'name':'c',

'age':25}]

b=sorted(alist,key=lambdax:x['age'],reverse=True)

print(b)

(8)列表對(duì)象支持的運(yùn)算符有+和*,請(qǐng)輸入以下代碼并運(yùn)行。

x=[1,2,3]

x=x+[4]#加法運(yùn)算符+可以連接兩個(gè)列表,得到一個(gè)新列表

x

x=[1,2,3,4]

x=x*2#乘法運(yùn)算符*可以用于列表和整數(shù)相乘,表示序列重復(fù),返回新列表

x

3in[1,2,3]#in用于測(cè)試列表中是否包含某個(gè)元素

3in[1,2,'3']

[1,2,4]>[1,2,3,5]#逐個(gè)比較對(duì)應(yīng)位置的元素

[1,2,4]==[1,2,3,5]

(9)內(nèi)置函數(shù)對(duì)列表的操作,請(qǐng)輸入以下代碼并運(yùn)行。

x=list(range(11))#生成列表

上篇/實(shí)驗(yàn)指導(dǎo)13

x

importrandom

random.shuf?e(x)#打亂列表中元素順序

x

all(x)#測(cè)試是否存在等價(jià)于True的元素

max(x)#返回最大值

max(x,key=str)#按指定規(guī)則返回最大值

(10)拓展1。請(qǐng)編寫一個(gè)程序?qū)崿F(xiàn)sum=1+2+3+…+100。

(11)拓展2。請(qǐng)編寫程序?qū)崿F(xiàn)用戶輸入x和y的值,計(jì)算(x+y)的平方。

實(shí)驗(yàn)6列表推導(dǎo)式的應(yīng)用

【實(shí)驗(yàn)?zāi)康摹?/p>

學(xué)習(xí)列表推導(dǎo)式的應(yīng)用。

【實(shí)驗(yàn)環(huán)境】

(1)臺(tái)式計(jì)算機(jī)或筆記本計(jì)算機(jī)。

(2)Windows10操作系統(tǒng)。

(3)Anaconda3、編輯工具、瀏覽器等。

【實(shí)驗(yàn)內(nèi)容】

掌握列表推導(dǎo)式。

【實(shí)驗(yàn)步驟】

(1)請(qǐng)新建一個(gè)列表,并輸出這個(gè)列表的類型,代碼如下所示:

[2,'JumpShot','LosAngelesLakers']

<class'list'>

(2)列表索引的使用。有列表huashang_list=['數(shù)據(jù)科學(xué)學(xué)院','經(jīng)濟(jì)與金融','會(huì)計(jì)學(xué)

院','文學(xué)院'],現(xiàn)要輸出該列表中第2個(gè)元素'會(huì)計(jì)學(xué)院'。

(3)請(qǐng)?jiān)诹斜韍uashang_list=['數(shù)據(jù)科學(xué)學(xué)院','經(jīng)濟(jì)與金融','會(huì)計(jì)學(xué)院','文學(xué)院']中

增加'體育學(xué)院',并輸出新的列表。

(4)請(qǐng)?jiān)诹斜韍uashang_list=['數(shù)據(jù)科學(xué)學(xué)院','經(jīng)濟(jì)與金融','會(huì)計(jì)學(xué)院','文學(xué)院']中

的'經(jīng)濟(jì)與金融'前插入新的元素'教育學(xué)院',并輸出新的列表。

(5)請(qǐng)將'教育學(xué)院'從huashang_list中刪除,并輸出新的列表。

(6)請(qǐng)將'文學(xué)院'從huashang_list中刪除,并輸出新的列表。

(7)請(qǐng)輸出huashang_list中'體育學(xué)院'的位置(索引)。

恭喜您已熟知列表常用的操作,歡迎進(jìn)階繼續(xù)完成下列操作。

列表的切片:形式上,切片使用兩個(gè)冒號(hào)分隔的3個(gè)數(shù)字來完成,如[start:end:step]。

(8)使用切片獲取列表部分元素,現(xiàn)有aList=[3,4,5,6,7,8,9,11,13,15,17],則aList[::],

aList[::-1],aList[::2],aList[3:6],aList[0:100]的輸出結(jié)果是什么呢?參考代碼如下所示:

aList=[3,4,5,6,7,8,9,11,13,15,17]

aList[::]#返回包含原列表鐘所有元素的新列表

14/Python程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)與習(xí)題集

aList[::-1]#返回包含原列表鐘所有元素的逆序列表

aList[::2]#從下標(biāo)0開始,隔一個(gè)取一個(gè)

aList[3:6]#指定切片的開始和結(jié)束位置

aList[0:100]#切片結(jié)束位置大于列表長度時(shí),從列表尾部截?cái)?/p>

(9)使用切片為列表增加元素,請(qǐng)輸入以下代碼并運(yùn)行。

aList=[3,5,7]

aList[len(aList):]

aList=[3,5,7]

aList[len(aList):]=[9]#在列表尾部增加元素

aList

aList[:0]=[1,2]#在列表頭部插入多個(gè)元素

aList

aList[3:3]=[4]#在列表中間位置插入元素

aList

(10)使用切片替換和修改列表中的元素,請(qǐng)輸入以下代碼并運(yùn)行。

aList=[3,5,7,9]

aList[:3]=[1,2,3]#替換列表元素,等號(hào)兩邊的列表長度相等

aList

aList[3:]=[4,5,6]#切片連續(xù),等號(hào)兩邊的列表長度可以不相等

aList

aList[::2]=['a','b','c']#隔一個(gè)修改一個(gè)

aList

aList[::2]=[1]#切片不連續(xù)時(shí)等號(hào)兩邊列表長度必須相等

(11)使用切片刪除列表中的元素,請(qǐng)輸入以下代碼并運(yùn)行。

aList=[3,5,7,9,11]

delaList[:3]#切片元素連續(xù)

aList

aList=[3,5,7,9,11]

delaList[::2]#切片元素不連續(xù),隔一個(gè)刪一個(gè)

aList

拓展(有興趣的同學(xué)課后完成下面的第12~14題):列表的推導(dǎo)式。

(12)有列表vec=[[1,2,3],[4,5,6],[7,8,9]],如果要實(shí)現(xiàn)輸出結(jié)果為[1,2,3,4,5,6,7,8,

9],請(qǐng)編寫代碼并運(yùn)行。

(13)有列表aList=[-1,-4,6,7.5,-2.3,9,-11],現(xiàn)要保留所有大于0的數(shù)字,即輸出結(jié)果

為[6,7.5,9],該如何編碼呢?

(14)產(chǎn)生一個(gè)列表,包含20個(gè)元素,均是介于[1,10]的整數(shù),查找并輸出該列表中

最大元素的所有位置,該如何編碼呢?

實(shí)驗(yàn)7元組的操作與turtle繪制圖形

【實(shí)驗(yàn)?zāi)康摹?/p>

學(xué)習(xí)元組的操作與turtle繪制圖形。

【實(shí)驗(yàn)環(huán)境】

(1)臺(tái)式計(jì)算機(jī)或筆記本計(jì)算機(jī)。

上篇/實(shí)驗(yàn)指導(dǎo)15

(2)Windows10操作系統(tǒng)。

(3)Anaconda3、編輯工具、瀏覽器等。

【實(shí)驗(yàn)內(nèi)容】

(1)掌握元組的操作。

(2)掌握turtle繪制圖形。

【實(shí)驗(yàn)步驟】

(1)元組的創(chuàng)建與元素訪問。請(qǐng)輸入以下代碼并運(yùn)行。

x=(1,2,3)#直接把元組賦值給一個(gè)變量

type(x)#使用type()函數(shù)查看變量類型

x[0]#元組支持使用下標(biāo)訪問特定位置的元素

x[-1]#最后一個(gè)元素,元組也支持雙向索引

x[1]=4#元組是不可變的

(2)請(qǐng)創(chuàng)建元組jike19=('算法','數(shù)據(jù)庫','程序設(shè)計(jì)','操作系統(tǒng)'):

①請(qǐng)將其打印出來。

②輸出“程序設(shè)計(jì)”。

③輸出元組jike19的長度。

④計(jì)算“操作系統(tǒng)”在元組中出現(xiàn)的次數(shù)并輸出。

⑤輸出“數(shù)據(jù)庫”的索引號(hào)。

(3)新建元組huashang01=('計(jì)算機(jī)科學(xué)與技術(shù)','大數(shù)據(jù)','電子商務(wù)','軟件工程'):

①請(qǐng)將元組jike19和huashang01合并成一個(gè)新的元組tup,并打印輸出。

②請(qǐng)復(fù)制tup,并打印輸出。

③刪除tup。

(4)元組與列表的操作有哪些異同點(diǎn)?

(5)創(chuàng)建畫布,窗體大小為600*600,以下代碼僅供參考。

#導(dǎo)入相關(guān)模塊

importturtle

turtle.setup(600,600)#窗體大小為600×600

turtle.done()#完成

(6)turtle畫圖案例,繪制五角星,以下代碼僅供參考。

#導(dǎo)入相關(guān)模塊

importturtleast

importtime

t.setup(600,400)#窗體大小為600×400

t.pensize(5)#設(shè)置畫筆寬度

t.pencolor("yellow")#設(shè)置畫筆顏色

t.?llcolor("red")#設(shè)置填充顏色

t.begin_?ll()#開始填充位置

for_inrange(5):

t.forward(200)

t.right(144)

t.end_?ll()#結(jié)束填充位置

time.sleep(1)#暫停1秒

16/Python程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論