




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1.5實訓I
1.5.1實訓1
一、實訓目的
1.了解Python運行原理、注釋的使用
2.掌握Python的編碼規范
3.掌握Python的輸入與輸出的寫法
4.掌握Python變量與標識符的運用
5.能夠利用Python語言基礎編寫簡單的Python代碼
二、單元練習
(一)選擇題
1.下列用戶標識符中合法的是(C)
A.2name、length!>_elB.m_a>name>#int
C.m_Narne>length1._nameD._nanie、Gcn$2、length1
2.關于標識符,下列說明錯誤的是(B)
A.標識符可以由字母、數字、下劃線組成
B.標識符必須由字母、下劃線、數字開始
C.標識符大小寫敏感(不同)
D.標識符不可以使用Python的關鍵字
3.將python中的.py文件轉換為.pyc文件的組件為(B)
A.編輯器B,編譯器C.虛擬機D.連接器
(二)填空題
1.Python由解釋器、編譯器和虛擬機三個主要部分組成。
2.Python程序設計中一行可以寫條語句,每條語句以換行結束。
3.Python程序設計的注釋是以2開頭,也可以用(三個引號)符號代替注釋,注
釋對程序的執行不起任何作用。
4.編寫Python語言,其擴展名為.py,編譯后生成的文件擴展名為rye.
5.Python3的數字類型分為int、long、float、complex等子類型。
6.可以使用八—符號把一行過長的Python語句分解成幾行。
7.Python2中使用#coding:utf-8支持中文編碼。
(三)名詞解釋
1.解釋器:用來運行語句O
2.編譯器:將.py文件轉換成.pyc文件o
3.虛擬機:用來運行.pyc文件o
三、實訓任務
任務1:【安裝Python】
1.Python官方網站下載并安裝python3.6msi包。
2.安裝pycharmGUI開發環境。
3.配置Python環境變量,并能成功在cmd命令下進行Python的代碼運行。
任務2:【打印】
編寫一個簡短的程序,打印下面內容:你的姓名、生日以及你最喜歡的顏色。具體格式
如卜所示:
?Je????*?
你的姓名
生日
你最喜歡的顏色
sjc5^Csjc5^C?J?5^
程序編寫于下方
name=,張三'
birthday='20(X)-l-r
color=,藍色,
prinl('********************************')
print('姓名:{}'.format(name))
print,生日:{}'.format(birthday))
prints最喜歡的顏色:{},.formai(81or))
任務3:【求直角三角形的面積】
輸入直角三角形的三條邊,三條邊為整型,計算其面積,結果以浮點型輸出。
程序編寫于下方
frommathimportsqrl
a=int(input('請輸入三角形邊a:'))
b=int(input(,請輸入三角形邊b:')i
c=int(input(,請輸入三角形邊c:'))
p=(a+b+c)/2
ifa+b>canda-b<c:
s=sqrt(p*(p-a)*(p-b)*(p-c))
printC三角形的面積為:{『.format(s))
else:
print。無法構成三角形,)
任務4:【圓形的周長】
輸入圓的直徑,計算其面積(pi=3.14)
程序編寫于下方
1=int(inputC請輸入圓形直徑))
pi=3.14s=pi*(1/2)**2
print,圓形的面積為:{}〔format(s))
四、拓展任務
任務1:【梯形的面積】
輸入梯形的上底,下底和高,計算梯形(trapezoid)面積。
程序編寫于下方
top=int(inputC請輸入梯形上底1))
base=int(input(,請輸入梯形下底:))
h=int(input('請輸入梯形高:1))
s=(top+base)*h/2
printC梯形的面積為:{F.format(s))
任務2:【菱形的面積】
輸入菱形的高和底,計算其面積(公式:菱形二底義高)
程療編寫于下方
base=int(input('請輸入菱形底:'))
h=int(inputC請輸入菱形高
s=base*h
printC梯形的面積為:{『.fonnat(s))
1.5.2實訓2
一、實訓目的
1.了解值與類型、運算符和不同類型的混合計算
2.掌握字符串的連接與倍增
3.掌握將數值轉換成字符串
4.掌握Python模塊的導入
5.能夠利用Python語言基礎編寫簡單的Python代碼
二、單元練習
(一)選擇題
1.下列選項中,不是int整型數據的是(D)
A.160B.010C.-78D.0x234
2.下列選項中,不是實型數據的是(D)
A.0.0B.20.12C.2O.le+18D.0x234
3.下面哪個不是Python合法的變量名(B)
A.int32B.40XLC.selfD._name.
4.Python不支持的數據類型有(A)
A.charB.intC.floatD.list
5.1*50*2.54,結果為(C)
A.整型B.布爾型C.浮點型D.復數
(二)填空題
1.若定義a=1(),執行printtype(a)后,結果為ini
2.若定義a=10.(),執行printtype(a)后,結果為float->
3.三種基本的程序設計結構為順序結構、選擇結構、循環結
S__
4.圓的面積公式s=pi*F,寫成Python語言表達式為s=pi*rA2
5.若定義a=97,執行print(n+8+3)后,結果為a83。
6.若定義a=97,執行print(a+8+3)后,結果為報錯。
7.若定義a=97,執行print(str(a)+8+3)后,結果為9783。
8.若定義a=,D1執行print(a*10)后,結果為DDDDDDDDDD。
(三)名詞解釋
1.ASCII編碼:是基于拉丁字母的一套電腦編碼系統,主要用于顯示現代英君和其他西
歐語言。它是現今最通用的信息交換標準,并等同于國際標準ISO/IEC646o
2.程序調試:將編制的程序投入實際運行前,用手工或編譯程序等方法進行測試,修正
語法錯誤和邏輯錯誤的過程。
3.軟件測試:描述一種用來促進鑒定軟件的正確性、完整性、安全性和質量的過程。
4.導入模塊:把pylhon文件解釋一遍。
三、實訓任務
任務1:[PyCharm中Python版本的切換】
請參考1213章節的兩種方法。
任務2:【換字游戲】
編寫一個換字游戲,要求將兩個整數a和b進行交換,然后打印出來。
程序編寫于下方
a=int(input('請輸入整數a:'))
b=int(input(,請輸入整數b:'))
a,b=b,a
printfa:{}'.format(a))
print('b:{}'.foi~mat(b))
任務3:【數字合并】
編寫程序,將兩個整數a和b合并成一個整數放到c里面,并打印出來。
程序編寫于下方
a=input。請輸入整數a:')
b=input('請輸入整數b:')
c=a+b
print('c:{}'.format(c))
任務4:【隨機數的倍增】
用隨機數包產生一個。?20的隨機數(包括小數),在產生一個10~30的隨機整數作為
前面隨機數的倍增的量。
程序編寫于下方
importrandom
a=random.unifbrm(0,20)
b=random.randint(10,30)
c=a*b
print('a={}\nb={}\nc={}'.format(a.b,c))
四、拓展任務
1:【數字合并提高】
編寫程序,將兩個的兩位數整數a和b合并成一個整數放到c里面,合并的方式為:將a
數的十位和個位數依次放到c數的個位和百位上,將b數的十位和個位數依次放到c數的十位
和千位上。并將c打印出來。
程序編寫于下方
a=int(inpul('請輸入兩位整數a:'))
b=int(input('請輸入兩位整數b:'))
al=a//)0
a2=a%1()
bl=b//1()
b2=b%1()
c=b2*IO(X)+a2*100+bl*10+al
print('c:{}'.format(c))
2:【求除數】
導入隨機數庫包random,生成隨機三個1-20的整數,將三個數相除,以字符串格式輸
出,
程序編寫于下方
importrandom
a=random.randint(1,20)
b=random.randint(l,20)
c=random.randinl(I,20)
prinl(ra/b/c={}'.format(a/b/c))
3:【代碼版本轉換】
用Python2語言完成實訓任務中的任務2和任務3。
(1)編寫一個換字游戲,要求將兩個整數a和b進行交換,然后打印出來。
程序編寫于下方
#coding:utf-8
a=input(情輸入整數a:')
b=input,請輸入整數b:')
a,b=b,a
print'a:{}'.format(a)
piint'b:{format(b)
(2)編寫程序,將兩個整數a和b合并成一個整數放到c里面,并打印出來。
程序編寫于下方
#coding:utf-8
a=inpulC請輸入整數a:')
b=input('請輸入整數b:')
c=str(a)+str(b)
print'c:{}'.fbrniat(c)
2.5實訓I
2.5.1實訓1
一、實訓目的
1.掌握函數的定義和調用
2.學會Python的縮進格式
3.理解形參、實參、返P1值、局部變量與全局變量
4.掌握Python的常用運算
5.掌握Python的格式化輸出
二、單元練習
(-)選擇題
1.關于函數的目的,以下說明不正確的是(B)
A.提高程序的執行效率B.減少程序文件所占用的內存
C.提高程序的可讀性D.提高程序的開發效率
2.Python中縮進(B)個空格
A.1B.4C.6D.2
3.Q為局部變量的是(B)
A.ReturnQB.deffun():Q=1C.Q=1D.printQ
4.關于函數名,下列說法正確的是(B)
A.函數名必須以下劃線和數字開頭
B.函數名可以包含任意字母、數字或下劃線的組合
C.函數名能使用任何的標點符號
D.函數名不區分大小寫
(二)填空題
1.以下程序輸出結果為(3.2)(2、3)
deffun(x,y):
x=x+y
y=x-y
x=x-y
print(x,y)
x=2
y=3
fun(x,y)
print(x,y)
2.以下程序輸出結果為(39)
deffun2():
a=10
b=20
a=3
b=9
fun2()
print(a,b)
3.以下程序輸出結果為aisLbis3,cis9
aisl,bis5,cis9
aisLbis3,cis10
ais30.bis3,cis20
deffunc(a,b=3,c=9):
print("ais%s,bis%s,cis%s"%(a,b,c))
func(l)
func(1,5)
func(l,c=10)
func(c=20,a=30)
(三)名詞解釋
1.值傳遞:_______________________________________________________
2.地址傳遞:_____________________________________________________
3.實參:_________________________________________________________
4.形參:_________________________________________________________
三、實訓任務
任務1:【求圓形的面積】
編寫一個函數。輸入圓形的半徑,計算其面積。
程序編寫于下方
defcalc_circular(r):
area=3.14*r**2
returnarea
任務2:【自編一個函數包,計算正方形】
輸入正方形的邊長,利用函數包計算,打印出結果,
程序編寫于下方
defcalc_rectangle(l):
area=1**2
long=1*2
returnprint('正方形的面積是:{0},周長是:{1},.format(area,long))
任務3:【自編一個函數包,完成下面圖形的面積】
圖1
程序編寫于下方
defcalc_area(r):
area=3.14*r+(2*r)**2
returnarea
圖2
程序編寫于下方
defcalc_area(r):
area=(2*r)**2-3.14*r**2
returnarea
圖3
程序編寫于下方
defcalc_area(r):
area=3.14*r**2-(r*2**0.5)
returnarea
四、拓展任務
任務1:【利用海倫公式求三角形面積】
編寫一個程序,利用海倫公式求三角形面積。
海倫公式如下:
s="(p-a)(p-S)(p-c)
程序編寫于下方
defcalc_triangle(a,b,c):
ifa+b>uanda-b<c:
p=(a+b+c)/2
s=(p*(p-a)*(p-b)*(p-c))**0.5
returns
else:
relunT無法構成三角形’
a=im(input('請輸入三角形邊1:'))
b=inl(inpul('請輸入三角形邊2:'))
c=inl(input('請輸入三角形邊3:'))
print(calc_triangle(a,b,c))
3.5實訓I
3.5.1實訓1【分支】
一、實訓目的
1.熟練使用Python的常用運算
2.利用if分支語句編寫Python代碼
二、單元練習
(-)選擇題
1.下列選項中,當x為大于1的奇數時,運算結果為。的表達式是(C)
A.x%2==lB.x/2
C.x%2!=0D.x%2=0
2.在嵌套使用if語句時,Python語言規定else總是(A)
A.和之前與其具有相同縮進位置的if相匹配;
B.和之前與其最近的if相匹配;
C.和之前的第一個if配對;
D.和之前與其最近且不帶else的if配對。
3.下列Python語句正確的是(D)
A.min=xifx<yelsey
B.max=x>y?x:y
C.if(x>y)printx
D.if1>2:print(uhello")
(-)填空題
1.寫出下列表達式的值,設a=3,b=4,c=5:
表達式值
a+b>c&&b==cFalse
!(a>b)&&!c||lFalse
a<c&&c<bFalse
a<c<bFalse
a<b||c<bTrue
2.在算術運算符(+、-、*、/、%)、關系運算符(二二、!=、>、<、>=、<二)、邏輯運
算符(and、or、not)和賦值運算符(=、+=、-+、*二、/二、%二、**=、//=)中,運算優先級
最高的運算符是**指數,最低的運算符not、or、and。
3.判斷一個字符是數字字符的條件表達式isdigil。
4.判斷一個字符是字母的條件表達式isalnum°
5.在Python語言中,用true表示邏輯“真",用false表示邏輯“假
三、實訓任務
任務1:【猜字游戲】
編寫一個猜字游戲,要求隨機輸入一個0-10的數字,提供1次猜字機會。
程序編寫于下方
importrandom
secret=random.randint(0,10)
print("請你猜一猜從1到10的數字”)
print("你只有一次機會”)
guess=eval(input("請輸入你猜的數字:"))
ifguess<secret:
prim('太小了')
elifguess>secret:
printC太大了)
else:
print。答對了)
prinl('正確答案是:'+str(secret))
任務2:【學生成績等級評定】
根據學生考試成績,確定成績等級,成績與等級的對應關系如下表所示。
成績(score)等級(level)
score>=90A
80<=score<90B
70<=score<80C
60<=score<70D
Scorc<60F
程序編寫于下方
score=eval(inputC請輸入你的考試成績:'))
ifscore>=90:
level='A'
print(你的考試等級為:Tlevel)
elif(score>=80)and(score<90):
level=B
printC你的考試等級為:,+level)
elif(score>=70)and(score<80):
level='C
prini('你的考試等級為:'+level)
elif(score>=60)and(score<70):
level='D'
printC你的考試等級為:,+level)
else:
level='E'
print(你的考試等級為:,+level)
任務3:【輸入字符判斷】
鍵盤輸入一個字符,判斷該字符是數字、字母、空格還是其他。
程序編寫于下方
word=input,請輸入你的字符:,)
ifword.isdigit():
printC你輸入的是數字
elifword.isalpha():
printC你輸入的是字母)
elifword.isspace():
prim,你輸入的是空格)
else:
print('你輸入的是其他')
任務4:【身體質量指數判斷】
身體質量指數(BMI)是指用體重除以身高的平方得出的數字,它是目前國際常用的衡量
人體胖瘦程度以及是否健康的一個標準,具體如下。
BMI值<18.518.5-24.925.0?27.9>27.9
身體情況消瘦正常超重肥胖
程序編寫于下方
high=eval(input(,請輸入你的身高:))
wight=eval(inpul(,請輸入你的體重:))
bmi=wight/(high**2)
ifbmi<18.5:
print('bmi='+str(bmi))
print。偏瘦)
elif(bmi>=18.5)and(bmi<=24.9):
print('bmi='+str(bmi))
print。正常)
elif(bmi>=25)and(bmi<=27.9):
print('bmi='+str(bmi))
prime偏胖)
else:
print('bmi='+str(bmi))
printC肥胖,)
任務5:【企業發放獎金判斷】
企業發放的獎金根據利潤提成。利潤⑴低于或等于10萬元時,獎金可提10%;利潤高于
1()萬元,低于2()萬元時,低于1()萬元的部分按10%提成,高于10萬元的部分,可提成7.5%;
2()萬到4()萬之間時,高于20萬元的部分,可提成5%;40萬到60萬之間時高于4()萬元的
部分,可提成3%;6()萬到10()萬之間時,高于60萬元的部分,可提成1.5%,高于10()萬元
時,超過100萬元的部分按1%提成,從鍵盤輸入當月利潤L求應發放獎金總數?
程序編寫于下方
i=eval(input('Pleaseinputprofitsofthemonth:*))
ifi<=100000:
money=i*0.1
elif(i>100000)and(i<=200000):
money=100000*0.1+(i-100000)*0.075
elif(i>200000)and(i<=400000):
money=100000*0.1+100000*0.075+(i-200000)*0.05
elif(i>400000)and(i<=600000):
money=100000*0.1+100000*0.075+200000*0.05+(i-400000)*0.03
elif(i>600000)and(i<=1000000):
money=100000*0.1+100000*0.075+200000*0.05+200000*0.03+(i-600000)*
0.015
else:
money=100000*0.1+100000*0.075+200000*0.05+200000*0.03+400000*0.015
+(i-1000000)*0.001
print('Thebonusis:'+str(money))
任務5:【月份判斷】
使用if結構寫一個程序,判斷輸入的月份應該有多少天。(2月定為28天)。
程序編寫于下方
month=input('請輸入月份(例:一月):,)
if(month==1一月'):
print(str(month)+'應該有31天')
elif(month=="二月'):
print(str(month)+'應該有28天)
elif(month=='三月'):
print(str(month)+,應該有31天)
elif(month二二‘四月'):
prinl(str(month)+應該有30天)
elif(month=='五月'):
print(str(month)+'應該有31天)
elif(month=='六月'):
print(str(month)+'應該有30天)
elif(month=='七月)
print(str(month)+'應該有31天)
elif(month二二'八月'):
print(str(month)+'應該有31天)
elif(month=='九月'):
print(str(month)+'應該有30天')
elif(month==,十月)
print(str(month)+'應該有31天)
elif(month==H—月'):
print(str(month)+'應該有3()天')
elif(month=='十二月'):
print(str(month)+'應該有31天')
四、拓展任務
拓展任務1:【驗證碼】
一般網站在登錄時,都會進行“驗證碼”輸入。在輸入驗證碼字符時,無論用戶輸入的
是大寫字母還是小寫字母,驗證時都會忽略大小寫的差異,認為是相同的字符。這說明系統已
經對驗證碼中的字符和用戶輸入的字符進行了大小寫轉換,然后進行匹配。那么這種轉換是如
何實現的?請編程實現“從鍵盤輸入一組字符,無論大小寫,都轉換成小寫形式輸出”。
程序編寫于下方
string=input('Plcascinputyourtext:*)
print(string.lower())
拓展任務2:【商品促銷】
某淘寶商場采用購物打折的方式進行促銷。具體促銷方式如下:
購買金額折扣
1000元及以上九折
2000元及以上八折
3000元及以上七折
請編寫程序,當輸入顧客實際購物金額,計算并輸出優惠價。
程序編寫于下方
money=eval(input,請輸入你的購物金額
if(money>=1000)and(money<2000):
level=0.9
cash=money*level
print。折后金額為:'+str(cash))
elif(money>=2000)and(money<3000):
level=0.8
cash=money*level
print('折后金額為:'+str(cash))
else:
level=0.7
cash=money*level
printC折后金額為:'+str(cash))
拓展任務3:【閏年】
輸入一個年份,求它是否是閏年?閏年的條件是:能被4整除不能被100整除或者能被
400整除(y%4==0andy%100!=0ory%400==0)
程序編寫于下方
year=eval(input('請輸入年份:'))
while(l):
ifyear>=1000andyear<=9999:
if(year%4==0rndyear%100!=0)or(ycar%100==0):
prime該年為閏年)
else:
printC該年不是閏年)
break
else:
year=eval(inputC請輸入正確年份:,))
拓展任務4:【月份判斷】
使用if結構寫一個程序,判斷輸入的月份應該有多少天。(2月根據是否是閏年判斷是否
28天還是29天)。
程序編寫于下方
defJudgeYear(year):
flag=False
if(year%4==0andyear%100!=0)or(year%100==0):
flag=True
prinlC該年為閏年,)
returnflag
defrestr(string,p,c):
new=[]
forsinstring:
new.appcnd(s)
newfp]=c
returnH.join(new)
Month={,011:31/02':28,'03':31/04':30,'05,:31,'O6':30,'071:31,
'08':31/09':30,'10':31JI-30/121:31)
date=input('請輸入年月(例2018.01):,)
iflen(date)==6anddate[5J!="0":
date+=date[5]
date=restr(date,5,'O')
ifJudgeYear(eval(date[0:4])):
Month['()2']=29
printC本月應該有%d天'%Month[date[5:7]])
3.5.2實訓2【循環】
一、知識點清單
1、掌握while循環語句使用方法
2、掌握for循環語句使用方法
3.能夠利用流程控制語句解決實際編程問題
二、單元練習
(-)填空題
1.如果循環無休止的進行下去,這種狀態稱為死循環.
2.使用循環輸出1234568910,補充下面的填空
count=l
Whilecount<=10:
ifcount!=7:
pass
print(count)
count+=l
3.循環可以嵌套3-5層。
三、實訓任務
任務1:【猜字游戲】
編寫一個猜字游戲,要求隨機輸入一個0-100的數字,提供6次猜字機會。
程序編寫于下方
importrandom
key=random.randint(l,10)
c=0
c2=6
whilec<3:
word=eval(inputC猜一猜1-10的數字,請輸入答案,還剩{}次機會:'.format(c2-c)))
c+=1
ifkey>word:
print('太小了’)
elifkey<word:
printC太大了)
else:
printC你在第{}次答對了次rmat(c))
break
ifkey!=word:
print.很遺憾你猜錯了)
print。正確答案是:,+str(key)i
任務2:【統計字符分類】
輸入一行字符,統計出其中英文字母、空格、數字以及其他字符的個數,并打印出來。
程序編寫于下方
word=inputC請輸入你的文本:,)
num_alpha=0
num_digit=0
num_space=0
num_other=0
foriinword:
ifi.isalpha():
num_alpha+=1
elifi.isdigit():
num_digit+=1
elifi.isspace():
num_space+=1
else:
numother+=1
printC該字符串共有{0}個字母,{1}個數字,{2}個空格,{3}個其他字符
,.format(num_alpha,num_digit,num_space,num_other))
任務3:【水仙花數】
輸出所有的“水仙花數”。“水仙花數”是指一個三位數,其各位數字立方和等于該數
本身。例如:153=13+53+33,該數即為水仙花數。
程序編寫于卜方
num=0
foriinrange(100,1000):
c=i%10
b=i//10%10
a=i//100
ifa**3+b**3+c**3==
print(sgi))
num+=1
print('共{M、'.format(num))
任務4:【用數字組數】
用數字1、2、3、4進行組數,能組出多少個互不相同且不重復數字的三位數?并打印出
來,
程序編寫于下方
num=0
foriinrange(1,5):
fbrjinrange(1,5):
forkinrange(1,5):
if(i!=j)and(j!=k)and(i!=k):
print(i.j,k)
num+=1
print。共{}j'.format(num))
任務5:【評委評分】
分別利用while語句和for語句完成如下功能。
某比賽有7個評委,選手的得分為這7個評委的評分總和,請編程實現統計功能。
程序編寫于下方
while方式:
Ssum=0
c=0
whilec<7:
score=eval(input('{}號評委請輸入評分:’.format(c+1)))
Ssum=Ssum+score
c+=1
print('該選手得分為:{}'.fonnat(Ssum))
程序編寫于下方
for方式:
Ssum=0
foreinrange(l,8):
score=cval(input(']}號評委請輸入評分:’.format(c)))
Ssum=Ssum+score
print('該選手得分為:(}\fonnat(Ssum))
任務6:[break語句和continue語句的使用】
輸入若干字符,對輸入的英文字母原樣輸出,其他字符不輸出,直到輸入回車鍵時結束。
程序編寫于下方
text="
word="
while1:
word二inputC請輸入文本:1)
foriinword:
ifi.isalpha():
text=text+i
print(text)
text="
ifword==
break
四、拓展任務
任務1:【韓信點兵】
淮安民間傳說著一則故事一一“韓信點兵”。話說韓信帶1500名兵士打仗,戰死四五百
人,于是韓信要求士兵們先后站3人一排,多出2人;站5人一排,多出4人;站7人一排,
多出6人。韓信很快說出人數:1049。
現在給你3個隊伍的多出人數,分別為非負整數a,b,c,請計算軍隊的總人數?
程序編寫于下方
a=eval(input(,請輸入3人一排多出幾人:,))
b=eval(input(,請輸入5人一排多出幾人:’))
c=eval(input(,請輸入7人一排多出幾人:1))
flag=True
foriinrange(100,1000):
if(i%3==a)and(i%5==b)and(i%7==c):
printC共有{}人:format(i))
flag=False
ifflag:
prinlC無符合人數》
任務2:【數數游戲】
有n個人圍成一圈,順序排號。從第一個人開始報數,凡報到5的人退出圈子,問最后
留下的是原來第幾號。
程序編寫于下方
defJudgePeople(x):
fbriinstr(x):
ifi=='5':
returnTrue
break
returnFalse
“'判斷傳入參數是否包含5,若包含5則返回True,否則返回False"
people二eval(input。請輸入人數:,))
num=people
listP=[0]
foriinrange(pcoplc-1):
listP.append(O)
word=1
j=0
whilepeople>1:
j=j%num
iflistP[j]!=u:
listP[j]=word
ifJudgePeople(listP|j]):
listPU]二”
people-=1
word=0
word+=1
j+=1
print(listP)
print,最后一個人的編號是:{}1fonnat((listP.index(4)+l)))
4.5實訓I
4.5.1實訓1【列表】
一、實訓目的
1.了解列表基本操作
2.掌握列表的截取與拼接
3.掌握列表的賦值機制
4.學會列表推導式的應用
二、單元練習
(-)選擇題
1.Python列表不包含了以下哪個內置函數(D)
A.len()B.max()C.min()D.tuple()E.list()
2.列表中可以放多少個字符串(C)
A.lB.255C.無限個D.由用戶自己定義
(二)填空題
1.已知tmp二rDeris?Weng:2018,2019],請填寫下面的結果。
tmp[1]=Weng
tmp[-11=2019
tmp[:2]二['Deris?Weng']
tmpl::2]二['Deris,2018|
2.請填寫Pyihon表達式對應的結果。
Python表達式結果
lend1,2,3,4,5])5
[1,2,3]+[4,5,6,7][1,2,3,4,55,7]
['123']*4[123,123,123,123]
3in[1,2,33,4,5]false
forxin[1,2,3,4]:1
pnnt(x)2
3
4
三、實訓任務
任務1:【列表創建的基本操作】
I、創建1個空列表alisi(用兩種方法實現)
程序編寫于下方
alist=[]
blist=list()
print(alist)
print(blist)
2、創建一個長10000的列表blist(列表元素內容為1開始的整數)
程序編寫于下方
alist=[i+Iforiinrange(10(X)())]
print(alist)
print(len(alist))
3、創建一個長10000的列表clist(列表元素內容均為1)
程序編寫于下方
alist=[1foriinrange(1()()()())]
print(alist)
print(len(alist))
4、編寫程序,用戶輸入一個列表和2個整數作為下標,然后使用切片獲取并輸出列表中
介于2個下標之間的元素組成的子列表。例如用戶輸入[1.2.3.4.5.6]和2,5,程序輸出[3.4.5.
6]c
程序編寫于下方
alist=[1,2,3,4,5,6,7,8]
a=eval(input('Ffe1:'))
b=eval(input(,下標2:,))
print(alist)
print(alist[a:h+I])
任務2:【列表截取與拼接】
編寫下列代碼,觀察結果,并說明原因。
I1=[iforiinrange(0,15)J
2print(U:⑵)
結果:
1()2441
I1=[iforiinrange(0,15)l
2print。[::-2])
結果:
[14,12JO,&6,4,2.01
說明原因:
第一個是從0到15間隔“2”取值,第二個是從15到0間隔“2”取值
任務3:【二維列表】
編寫下列代碼,觀察結果。
list_2d=[[0foriinrange(5)]foriinrange(5)]
2list_2d[0].append(3)
3list_2d[0].append(5)
4list_2d⑵.append⑺
5print(list2d)
結果:
[[Q0,Q0,0、3,5]JO,0、0,0,0]JO,0a0,0、0,7]JO.0,0.0a0]JO,0、0,0a0]]
任務4:【列表的賦值機制】
寫出下列語句執行后的垢果。
結果為:LL2A31rl.2.3ML2,3U1.2.3]______________________________________________________
繼續執行如下語句:
Ib[0]='b'
2print(a,b,c,d)
結果為:「b;2、3]「b:2,3]r,b',2,3]11,2、3]_____________________________________________
繼續執行如下語句:
print(id(a),id(b),id(c),id(d))
結果為:1517100229256151710022925615171002292561517100229320_________________
繼續執行如下語句:
Ic[0]=1'
2print(a,b,c,d)
結果為:[匕2、3]I'c;2,31I'c',2,3]11,2.31______________________________________________
繼續執行如下語句:
Id[0]='d'
2print(a,b,c,d)
結果為:「柴2,3]「U2,3]「c',2、31「U2,31_____________________________________________
繼續執行如下語句:
Iprint(id(a),id(b),id(c),id(d))
結果為:2440527569544244052756954424405275695442440527569608_________________
請對上述的實驗過程進行總結:
總結:可以看到a,b,c三個是同一個id值,當改變當中任意一列表元素的值后,三者會
同步改變。
任務5:【列表與循環的混合使用】
1輸出結果:[1lovepython,2lovepython,3lovepython,10lovepython]
程序編寫于下方
alist=[*{:<1)lovepython'.fbrmat(i+1)foriinrange(1())]
print(alist)
2、輸出結果:[(0,0),(0,2),(2,0),(2,2)]
程序編寫于下方
aList=[]
foriinrange(0,3,2):
fbrjinrange((),3,2):
aList.append((i,j))
print(aList)
四、拓展任務
任務1:【列表推導式應用】
使用列表推導式生成100以內的所有偶數。
程序編寫于下方
aList=[iforiinrange(2,101,2)]
print(aList)
任務2:【列表推導式應用2】
使用列表推導式實現矩嶼轉置。
程序編寫于下方
aList=[[1,2,3],[1,2,3],[1,2,3]]
bList=[]
xList=[]
foriinrange(0
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年鉗工中級工理論考核試題
- 石大學前衛生學試卷(一)及參考答案
- 人工智能驅動的安全性能預測-洞察闡釋
- 高三復習“減數分裂”教學設計
- 新時代大學生奮斗精神現狀分析與培育策略
- 橙色3D立體卡通物流輔助行業營銷策劃方案
- 2025至2030年中國球浴行業投資前景及策略咨詢報告
- 2025至2030年中國特殊化學品行業投資前景及策略咨詢報告
- 2025至2030年中國燒烤盤行業投資前景及策略咨詢報告
- 2025至2030年中國淑女傘行業投資前景及策略咨詢報告
- 2025-2030年留學中介產業市場深度分析及發展趨勢與投資戰略研究報告
- 砍樹勞務合同協議書
- 2025年湖北省武漢市中考物理模擬卷(含答案)
- 安全生產管理的技術規范與操作要求試題及答案
- 湖南省長沙市雨花區2023-2024學年五年級下學期語文期末試卷(含答案)
- 荊州市監利縣2025年五年級數學第二學期期末考試模擬試題含答案
- 2025年河南省安陽市滑縣中考二模道德與法治試題(原卷版+解析版)
- 社工招聘筆試題目及答案
- 技術檢測與認證產品檢測與認證服務模式創新案
- 健康管理科管理制度
- 2024年中考道德與法治一輪復習:七八九年級6冊提分必背知識點提綱
評論
0/150
提交評論