版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1.5實(shí)訓(xùn)I
1.5.1實(shí)訓(xùn)1
一、實(shí)訓(xùn)目的
1.了解Python運(yùn)行原理、注釋的使用
2.掌握Python的編碼規(guī)范
3.掌握Python的輸入與輸出的寫法
4.掌握Python變量與標(biāo)識符的運(yùn)用
5.能夠利用Python語言基礎(chǔ)編寫簡單的Python代碼
二、單元練習(xí)
(一)選擇題
1.下列用戶標(biāo)識符中合法的是(C)
A.2name、length!>_elB.m_a>name>#int
C.m_Narne>length1._nameD._nanie、Gcn$2、length1
2.關(guān)于標(biāo)識符,下列說明錯誤的是(B)
A.標(biāo)識符可以由字母、數(shù)字、下劃線組成
B.標(biāo)識符必須由字母、下劃線、數(shù)字開始
C.標(biāo)識符大小寫敏感(不同)
D.標(biāo)識符不可以使用Python的關(guān)鍵字
3.將python中的.py文件轉(zhuǎn)換為.pyc文件的組件為(B)
A.編輯器B,編譯器C.虛擬機(jī)D.連接器
(二)填空題
1.Python由解釋器、編譯器和虛擬機(jī)三個主要部分組成。
2.Python程序設(shè)計(jì)中一行可以寫條語句,每條語句以換行結(jié)束。
3.Python程序設(shè)計(jì)的注釋是以2開頭,也可以用(三個引號)符號代替注釋,注
釋對程序的執(zhí)行不起任何作用。
4.編寫Python語言,其擴(kuò)展名為.py,編譯后生成的文件擴(kuò)展名為rye.
5.Python3的數(shù)字類型分為int、long、float、complex等子類型。
6.可以使用八—符號把一行過長的Python語句分解成幾行。
7.Python2中使用#coding:utf-8支持中文編碼。
(三)名詞解釋
1.解釋器:用來運(yùn)行語句O
2.編譯器:將.py文件轉(zhuǎn)換成.pyc文件o
3.虛擬機(jī):用來運(yùn)行.pyc文件o
三、實(shí)訓(xùn)任務(wù)
任務(wù)1:【安裝Python】
1.Python官方網(wǎng)站下載并安裝python3.6msi包。
2.安裝pycharmGUI開發(fā)環(huán)境。
3.配置Python環(huán)境變量,并能成功在cmd命令下進(jìn)行Python的代碼運(yùn)行。
任務(wù)2:【打印】
編寫一個簡短的程序,打印下面內(nèi)容:你的姓名、生日以及你最喜歡的顏色。具體格式
如卜所示:
?Je????*?
你的姓名
生日
你最喜歡的顏色
sjc5^Csjc5^C?J?5^
程序編寫于下方
name=,張三'
birthday='20(X)-l-r
color=,藍(lán)色,
prinl('********************************')
print('姓名:{}'.format(name))
print,生日:{}'.format(birthday))
prints最喜歡的顏色:{},.formai(81or))
任務(wù)3:【求直角三角形的面積】
輸入直角三角形的三條邊,三條邊為整型,計(jì)算其面積,結(jié)果以浮點(diǎn)型輸出。
程序編寫于下方
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。無法構(gòu)成三角形,)
任務(wù)4:【圓形的周長】
輸入圓的直徑,計(jì)算其面積(pi=3.14)
程序編寫于下方
1=int(inputC請輸入圓形直徑))
pi=3.14s=pi*(1/2)**2
print,圓形的面積為:{}〔format(s))
四、拓展任務(wù)
任務(wù)1:【梯形的面積】
輸入梯形的上底,下底和高,計(jì)算梯形(trapezoid)面積。
程序編寫于下方
top=int(inputC請輸入梯形上底1))
base=int(input(,請輸入梯形下底:))
h=int(input('請輸入梯形高:1))
s=(top+base)*h/2
printC梯形的面積為:{F.format(s))
任務(wù)2:【菱形的面積】
輸入菱形的高和底,計(jì)算其面積(公式:菱形二底義高)
程療編寫于下方
base=int(input('請輸入菱形底:'))
h=int(inputC請輸入菱形高
s=base*h
printC梯形的面積為:{『.fonnat(s))
1.5.2實(shí)訓(xùn)2
一、實(shí)訓(xùn)目的
1.了解值與類型、運(yùn)算符和不同類型的混合計(jì)算
2.掌握字符串的連接與倍增
3.掌握將數(shù)值轉(zhuǎn)換成字符串
4.掌握Python模塊的導(dǎo)入
5.能夠利用Python語言基礎(chǔ)編寫簡單的Python代碼
二、單元練習(xí)
(一)選擇題
1.下列選項(xiàng)中,不是int整型數(shù)據(jù)的是(D)
A.160B.010C.-78D.0x234
2.下列選項(xiàng)中,不是實(shí)型數(shù)據(jù)的是(D)
A.0.0B.20.12C.2O.le+18D.0x234
3.下面哪個不是Python合法的變量名(B)
A.int32B.40XLC.selfD._name.
4.Python不支持的數(shù)據(jù)類型有(A)
A.charB.intC.floatD.list
5.1*50*2.54,結(jié)果為(C)
A.整型B.布爾型C.浮點(diǎn)型D.復(fù)數(shù)
(二)填空題
1.若定義a=1(),執(zhí)行printtype(a)后,結(jié)果為ini
2.若定義a=10.(),執(zhí)行printtype(a)后,結(jié)果為float->
3.三種基本的程序設(shè)計(jì)結(jié)構(gòu)為順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)
S__
4.圓的面積公式s=pi*F,寫成Python語言表達(dá)式為s=pi*rA2
5.若定義a=97,執(zhí)行print(n+8+3)后,結(jié)果為a83。
6.若定義a=97,執(zhí)行print(a+8+3)后,結(jié)果為報錯。
7.若定義a=97,執(zhí)行print(str(a)+8+3)后,結(jié)果為9783。
8.若定義a=,D1執(zhí)行print(a*10)后,結(jié)果為DDDDDDDDDD。
(三)名詞解釋
1.ASCII編碼:是基于拉丁字母的一套電腦編碼系統(tǒng),主要用于顯示現(xiàn)代英君和其他西
歐語言。它是現(xiàn)今最通用的信息交換標(biāo)準(zhǔn),并等同于國際標(biāo)準(zhǔn)ISO/IEC646o
2.程序調(diào)試:將編制的程序投入實(shí)際運(yùn)行前,用手工或編譯程序等方法進(jìn)行測試,修正
語法錯誤和邏輯錯誤的過程。
3.軟件測試:描述一種用來促進(jìn)鑒定軟件的正確性、完整性、安全性和質(zhì)量的過程。
4.導(dǎo)入模塊:把pylhon文件解釋一遍。
三、實(shí)訓(xùn)任務(wù)
任務(wù)1:[PyCharm中Python版本的切換】
請參考1213章節(jié)的兩種方法。
任務(wù)2:【換字游戲】
編寫一個換字游戲,要求將兩個整數(shù)a和b進(jìn)行交換,然后打印出來。
程序編寫于下方
a=int(input('請輸入整數(shù)a:'))
b=int(input(,請輸入整數(shù)b:'))
a,b=b,a
printfa:{}'.format(a))
print('b:{}'.foi~mat(b))
任務(wù)3:【數(shù)字合并】
編寫程序,將兩個整數(shù)a和b合并成一個整數(shù)放到c里面,并打印出來。
程序編寫于下方
a=input。請輸入整數(shù)a:')
b=input('請輸入整數(shù)b:')
c=a+b
print('c:{}'.format(c))
任務(wù)4:【隨機(jī)數(shù)的倍增】
用隨機(jī)數(shù)包產(chǎn)生一個。?20的隨機(jī)數(shù)(包括小數(shù)),在產(chǎn)生一個10~30的隨機(jī)整數(shù)作為
前面隨機(jī)數(shù)的倍增的量。
程序編寫于下方
importrandom
a=random.unifbrm(0,20)
b=random.randint(10,30)
c=a*b
print('a={}\nb={}\nc={}'.format(a.b,c))
四、拓展任務(wù)
1:【數(shù)字合并提高】
編寫程序,將兩個的兩位數(shù)整數(shù)a和b合并成一個整數(shù)放到c里面,合并的方式為:將a
數(shù)的十位和個位數(shù)依次放到c數(shù)的個位和百位上,將b數(shù)的十位和個位數(shù)依次放到c數(shù)的十位
和千位上。并將c打印出來。
程序編寫于下方
a=int(inpul('請輸入兩位整數(shù)a:'))
b=int(input('請輸入兩位整數(shù)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:【求除數(shù)】
導(dǎo)入隨機(jī)數(shù)庫包random,生成隨機(jī)三個1-20的整數(shù),將三個數(shù)相除,以字符串格式輸
出,
程序編寫于下方
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:【代碼版本轉(zhuǎn)換】
用Python2語言完成實(shí)訓(xùn)任務(wù)中的任務(wù)2和任務(wù)3。
(1)編寫一個換字游戲,要求將兩個整數(shù)a和b進(jìn)行交換,然后打印出來。
程序編寫于下方
#coding:utf-8
a=input(情輸入整數(shù)a:')
b=input,請輸入整數(shù)b:')
a,b=b,a
print'a:{}'.format(a)
piint'b:{format(b)
(2)編寫程序,將兩個整數(shù)a和b合并成一個整數(shù)放到c里面,并打印出來。
程序編寫于下方
#coding:utf-8
a=inpulC請輸入整數(shù)a:')
b=input('請輸入整數(shù)b:')
c=str(a)+str(b)
print'c:{}'.fbrniat(c)
2.5實(shí)訓(xùn)I
2.5.1實(shí)訓(xùn)1
一、實(shí)訓(xùn)目的
1.掌握函數(shù)的定義和調(diào)用
2.學(xué)會Python的縮進(jìn)格式
3.理解形參、實(shí)參、返P1值、局部變量與全局變量
4.掌握Python的常用運(yùn)算
5.掌握Python的格式化輸出
二、單元練習(xí)
(-)選擇題
1.關(guān)于函數(shù)的目的,以下說明不正確的是(B)
A.提高程序的執(zhí)行效率B.減少程序文件所占用的內(nèi)存
C.提高程序的可讀性D.提高程序的開發(fā)效率
2.Python中縮進(jìn)(B)個空格
A.1B.4C.6D.2
3.Q為局部變量的是(B)
A.ReturnQB.deffun():Q=1C.Q=1D.printQ
4.關(guān)于函數(shù)名,下列說法正確的是(B)
A.函數(shù)名必須以下劃線和數(shù)字開頭
B.函數(shù)名可以包含任意字母、數(shù)字或下劃線的組合
C.函數(shù)名能使用任何的標(biāo)點(diǎn)符號
D.函數(shù)名不區(qū)分大小寫
(二)填空題
1.以下程序輸出結(jié)果為(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.以下程序輸出結(jié)果為(39)
deffun2():
a=10
b=20
a=3
b=9
fun2()
print(a,b)
3.以下程序輸出結(jié)果為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.實(shí)參:_________________________________________________________
4.形參:_________________________________________________________
三、實(shí)訓(xùn)任務(wù)
任務(wù)1:【求圓形的面積】
編寫一個函數(shù)。輸入圓形的半徑,計(jì)算其面積。
程序編寫于下方
defcalc_circular(r):
area=3.14*r**2
returnarea
任務(wù)2:【自編一個函數(shù)包,計(jì)算正方形】
輸入正方形的邊長,利用函數(shù)包計(jì)算,打印出結(jié)果,
程序編寫于下方
defcalc_rectangle(l):
area=1**2
long=1*2
returnprint('正方形的面積是:{0},周長是:{1},.format(area,long))
任務(wù)3:【自編一個函數(shù)包,完成下面圖形的面積】
圖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
四、拓展任務(wù)
任務(wù)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無法構(gòu)成三角形’
a=im(input('請輸入三角形邊1:'))
b=inl(inpul('請輸入三角形邊2:'))
c=inl(input('請輸入三角形邊3:'))
print(calc_triangle(a,b,c))
3.5實(shí)訓(xùn)I
3.5.1實(shí)訓(xùn)1【分支】
一、實(shí)訓(xùn)目的
1.熟練使用Python的常用運(yùn)算
2.利用if分支語句編寫Python代碼
二、單元練習(xí)
(-)選擇題
1.下列選項(xiàng)中,當(dāng)x為大于1的奇數(shù)時,運(yùn)算結(jié)果為。的表達(dá)式是(C)
A.x%2==lB.x/2
C.x%2!=0D.x%2=0
2.在嵌套使用if語句時,Python語言規(guī)定else總是(A)
A.和之前與其具有相同縮進(jìn)位置的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.寫出下列表達(dá)式的值,設(shè)a=3,b=4,c=5:
表達(dá)式值
a+b>c&&b==cFalse
!(a>b)&&!c||lFalse
a<c&&c<bFalse
a<c<bFalse
a<b||c<bTrue
2.在算術(shù)運(yùn)算符(+、-、*、/、%)、關(guān)系運(yùn)算符(二二、!=、>、<、>=、<二)、邏輯運(yùn)
算符(and、or、not)和賦值運(yùn)算符(=、+=、-+、*二、/二、%二、**=、//=)中,運(yùn)算優(yōu)先級
最高的運(yùn)算符是**指數(shù),最低的運(yùn)算符not、or、and。
3.判斷一個字符是數(shù)字字符的條件表達(dá)式isdigil。
4.判斷一個字符是字母的條件表達(dá)式isalnum°
5.在Python語言中,用true表示邏輯“真",用false表示邏輯“假
三、實(shí)訓(xùn)任務(wù)
任務(wù)1:【猜字游戲】
編寫一個猜字游戲,要求隨機(jī)輸入一個0-10的數(shù)字,提供1次猜字機(jī)會。
程序編寫于下方
importrandom
secret=random.randint(0,10)
print("請你猜一猜從1到10的數(shù)字”)
print("你只有一次機(jī)會”)
guess=eval(input("請輸入你猜的數(shù)字:"))
ifguess<secret:
prim('太小了')
elifguess>secret:
printC太大了)
else:
print。答對了)
prinl('正確答案是:'+str(secret))
任務(wù)2:【學(xué)生成績等級評定】
根據(jù)學(xué)生考試成績,確定成績等級,成績與等級的對應(yīng)關(guān)系如下表所示。
成績(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)
任務(wù)3:【輸入字符判斷】
鍵盤輸入一個字符,判斷該字符是數(shù)字、字母、空格還是其他。
程序編寫于下方
word=input,請輸入你的字符:,)
ifword.isdigit():
printC你輸入的是數(shù)字
elifword.isalpha():
printC你輸入的是字母)
elifword.isspace():
prim,你輸入的是空格)
else:
print('你輸入的是其他')
任務(wù)4:【身體質(zhì)量指數(shù)判斷】
身體質(zhì)量指數(shù)(BMI)是指用體重除以身高的平方得出的數(shù)字,它是目前國際常用的衡量
人體胖瘦程度以及是否健康的一個標(biāo)準(zhǔn),具體如下。
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肥胖,)
任務(wù)5:【企業(yè)發(fā)放獎金判斷】
企業(yè)發(fā)放的獎金根據(jù)利潤提成。利潤⑴低于或等于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%提成,從鍵盤輸入當(dāng)月利潤L求應(yīng)發(fā)放獎金總數(shù)?
程序編寫于下方
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))
任務(wù)5:【月份判斷】
使用if結(jié)構(gòu)寫一個程序,判斷輸入的月份應(yīng)該有多少天。(2月定為28天)。
程序編寫于下方
month=input('請輸入月份(例:一月):,)
if(month==1一月'):
print(str(month)+'應(yīng)該有31天')
elif(month=="二月'):
print(str(month)+'應(yīng)該有28天)
elif(month=='三月'):
print(str(month)+,應(yīng)該有31天)
elif(month二二‘四月'):
prinl(str(month)+應(yīng)該有30天)
elif(month=='五月'):
print(str(month)+'應(yīng)該有31天)
elif(month=='六月'):
print(str(month)+'應(yīng)該有30天)
elif(month=='七月)
print(str(month)+'應(yīng)該有31天)
elif(month二二'八月'):
print(str(month)+'應(yīng)該有31天)
elif(month=='九月'):
print(str(month)+'應(yīng)該有30天')
elif(month==,十月)
print(str(month)+'應(yīng)該有31天)
elif(month==H—月'):
print(str(month)+'應(yīng)該有3()天')
elif(month=='十二月'):
print(str(month)+'應(yīng)該有31天')
四、拓展任務(wù)
拓展任務(wù)1:【驗(yàn)證碼】
一般網(wǎng)站在登錄時,都會進(jìn)行“驗(yàn)證碼”輸入。在輸入驗(yàn)證碼字符時,無論用戶輸入的
是大寫字母還是小寫字母,驗(yàn)證時都會忽略大小寫的差異,認(rèn)為是相同的字符。這說明系統(tǒng)已
經(jīng)對驗(yàn)證碼中的字符和用戶輸入的字符進(jìn)行了大小寫轉(zhuǎn)換,然后進(jìn)行匹配。那么這種轉(zhuǎn)換是如
何實(shí)現(xiàn)的?請編程實(shí)現(xiàn)“從鍵盤輸入一組字符,無論大小寫,都轉(zhuǎn)換成小寫形式輸出”。
程序編寫于下方
string=input('Plcascinputyourtext:*)
print(string.lower())
拓展任務(wù)2:【商品促銷】
某淘寶商場采用購物打折的方式進(jìn)行促銷。具體促銷方式如下:
購買金額折扣
1000元及以上九折
2000元及以上八折
3000元及以上七折
請編寫程序,當(dāng)輸入顧客實(shí)際購物金額,計(jì)算并輸出優(yōu)惠價。
程序編寫于下方
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))
拓展任務(wù)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請輸入正確年份:,))
拓展任務(wù)4:【月份判斷】
使用if結(jié)構(gòu)寫一個程序,判斷輸入的月份應(yīng)該有多少天。(2月根據(jù)是否是閏年判斷是否
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本月應(yīng)該有%d天'%Month[date[5:7]])
3.5.2實(shí)訓(xùn)2【循環(huán)】
一、知識點(diǎn)清單
1、掌握while循環(huán)語句使用方法
2、掌握for循環(huán)語句使用方法
3.能夠利用流程控制語句解決實(shí)際編程問題
二、單元練習(xí)
(-)填空題
1.如果循環(huán)無休止的進(jìn)行下去,這種狀態(tài)稱為死循環(huán).
2.使用循環(huán)輸出1234568910,補(bǔ)充下面的填空
count=l
Whilecount<=10:
ifcount!=7:
pass
print(count)
count+=l
3.循環(huán)可以嵌套3-5層。
三、實(shí)訓(xùn)任務(wù)
任務(wù)1:【猜字游戲】
編寫一個猜字游戲,要求隨機(jī)輸入一個0-100的數(shù)字,提供6次猜字機(jī)會。
程序編寫于下方
importrandom
key=random.randint(l,10)
c=0
c2=6
whilec<3:
word=eval(inputC猜一猜1-10的數(shù)字,請輸入答案,還剩{}次機(jī)會:'.format(c2-c)))
c+=1
ifkey>word:
print('太小了’)
elifkey<word:
printC太大了)
else:
printC你在第{}次答對了次rmat(c))
break
ifkey!=word:
print.很遺憾你猜錯了)
print。正確答案是:,+str(key)i
任務(wù)2:【統(tǒng)計(jì)字符分類】
輸入一行字符,統(tǒng)計(jì)出其中英文字母、空格、數(shù)字以及其他字符的個數(shù),并打印出來。
程序編寫于下方
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}個數(shù)字,{2}個空格,{3}個其他字符
,.format(num_alpha,num_digit,num_space,num_other))
任務(wù)3:【水仙花數(shù)】
輸出所有的“水仙花數(shù)”?!八苫〝?shù)”是指一個三位數(shù),其各位數(shù)字立方和等于該數(shù)
本身。例如:153=13+53+33,該數(shù)即為水仙花數(shù)。
程序編寫于卜方
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))
任務(wù)4:【用數(shù)字組數(shù)】
用數(shù)字1、2、3、4進(jìn)行組數(shù),能組出多少個互不相同且不重復(fù)數(shù)字的三位數(shù)?并打印出
來,
程序編寫于下方
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))
任務(wù)5:【評委評分】
分別利用while語句和for語句完成如下功能。
某比賽有7個評委,選手的得分為這7個評委的評分總和,請編程實(shí)現(xiàn)統(tǒng)計(jì)功能。
程序編寫于下方
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))
任務(wù)6:[break語句和continue語句的使用】
輸入若干字符,對輸入的英文字母原樣輸出,其他字符不輸出,直到輸入回車鍵時結(jié)束。
程序編寫于下方
text="
word="
while1:
word二inputC請輸入文本:1)
foriinword:
ifi.isalpha():
text=text+i
print(text)
text="
ifword==
break
四、拓展任務(wù)
任務(wù)1:【韓信點(diǎn)兵】
淮安民間傳說著一則故事一一“韓信點(diǎn)兵”。話說韓信帶1500名兵士打仗,戰(zhàn)死四五百
人,于是韓信要求士兵們先后站3人一排,多出2人;站5人一排,多出4人;站7人一排,
多出6人。韓信很快說出人數(shù):1049。
現(xiàn)在給你3個隊(duì)伍的多出人數(shù),分別為非負(fù)整數(shù)a,b,c,請計(jì)算軍隊(duì)的總?cè)藬?shù)?
程序編寫于下方
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無符合人數(shù)》
任務(wù)2:【數(shù)數(shù)游戲】
有n個人圍成一圈,順序排號。從第一個人開始報數(shù),凡報到5的人退出圈子,問最后
留下的是原來第幾號。
程序編寫于下方
defJudgePeople(x):
fbriinstr(x):
ifi=='5':
returnTrue
break
returnFalse
“'判斷傳入?yún)?shù)是否包含5,若包含5則返回True,否則返回False"
people二eval(input。請輸入人數(shù):,))
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實(shí)訓(xùn)I
4.5.1實(shí)訓(xùn)1【列表】
一、實(shí)訓(xùn)目的
1.了解列表基本操作
2.掌握列表的截取與拼接
3.掌握列表的賦值機(jī)制
4.學(xué)會列表推導(dǎo)式的應(yīng)用
二、單元練習(xí)
(-)選擇題
1.Python列表不包含了以下哪個內(nèi)置函數(shù)(D)
A.len()B.max()C.min()D.tuple()E.list()
2.列表中可以放多少個字符串(C)
A.lB.255C.無限個D.由用戶自己定義
(二)填空題
1.已知tmp二rDeris?Weng:2018,2019],請?zhí)顚懴旅娴慕Y(jié)果。
tmp[1]=Weng
tmp[-11=2019
tmp[:2]二['Deris?Weng']
tmpl::2]二['Deris,2018|
2.請?zhí)顚慞yihon表達(dá)式對應(yīng)的結(jié)果。
Python表達(dá)式結(jié)果
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
三、實(shí)訓(xùn)任務(wù)
任務(wù)1:【列表創(chuàng)建的基本操作】
I、創(chuàng)建1個空列表alisi(用兩種方法實(shí)現(xiàn))
程序編寫于下方
alist=[]
blist=list()
print(alist)
print(blist)
2、創(chuàng)建一個長10000的列表blist(列表元素內(nèi)容為1開始的整數(shù))
程序編寫于下方
alist=[i+Iforiinrange(10(X)())]
print(alist)
print(len(alist))
3、創(chuàng)建一個長10000的列表clist(列表元素內(nèi)容均為1)
程序編寫于下方
alist=[1foriinrange(1()()()())]
print(alist)
print(len(alist))
4、編寫程序,用戶輸入一個列表和2個整數(shù)作為下標(biāo),然后使用切片獲取并輸出列表中
介于2個下標(biāo)之間的元素組成的子列表。例如用戶輸入[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(,下標(biāo)2:,))
print(alist)
print(alist[a:h+I])
任務(wù)2:【列表截取與拼接】
編寫下列代碼,觀察結(jié)果,并說明原因。
I1=[iforiinrange(0,15)J
2print(U:⑵)
結(jié)果:
1()2441
I1=[iforiinrange(0,15)l
2print。[::-2])
結(jié)果:
[14,12JO,&6,4,2.01
說明原因:
第一個是從0到15間隔“2”取值,第二個是從15到0間隔“2”取值
任務(wù)3:【二維列表】
編寫下列代碼,觀察結(jié)果。
list_2d=[[0foriinrange(5)]foriinrange(5)]
2list_2d[0].append(3)
3list_2d[0].append(5)
4list_2d⑵.append⑺
5print(list2d)
結(jié)果:
[[Q0,Q0,0、3,5]JO,0、0,0,0]JO,0a0,0、0,7]JO.0,0.0a0]JO,0、0,0a0]]
任務(wù)4:【列表的賦值機(jī)制】
寫出下列語句執(zhí)行后的垢果。
結(jié)果為:LL2A31rl.2.3ML2,3U1.2.3]______________________________________________________
繼續(xù)執(zhí)行如下語句:
Ib[0]='b'
2print(a,b,c,d)
結(jié)果為:「b;2、3]「b:2,3]r,b',2,3]11,2、3]_____________________________________________
繼續(xù)執(zhí)行如下語句:
print(id(a),id(b),id(c),id(d))
結(jié)果為:1517100229256151710022925615171002292561517100229320_________________
繼續(xù)執(zhí)行如下語句:
Ic[0]=1'
2print(a,b,c,d)
結(jié)果為:[匕2、3]I'c;2,31I'c',2,3]11,2.31______________________________________________
繼續(xù)執(zhí)行如下語句:
Id[0]='d'
2print(a,b,c,d)
結(jié)果為:「柴2,3]「U2,3]「c',2、31「U2,31_____________________________________________
繼續(xù)執(zhí)行如下語句:
Iprint(id(a),id(b),id(c),id(d))
結(jié)果為:2440527569544244052756954424405275695442440527569608_________________
請對上述的實(shí)驗(yàn)過程進(jìn)行總結(jié):
總結(jié):可以看到a,b,c三個是同一個id值,當(dāng)改變當(dāng)中任意一列表元素的值后,三者會
同步改變。
任務(wù)5:【列表與循環(huán)的混合使用】
1輸出結(jié)果:[1lovepython,2lovepython,3lovepython,10lovepython]
程序編寫于下方
alist=[*{:<1)lovepython'.fbrmat(i+1)foriinrange(1())]
print(alist)
2、輸出結(jié)果:[(0,0),(0,2),(2,0),(2,2)]
程序編寫于下方
aList=[]
foriinrange(0,3,2):
fbrjinrange((),3,2):
aList.append((i,j))
print(aList)
四、拓展任務(wù)
任務(wù)1:【列表推導(dǎo)式應(yīng)用】
使用列表推導(dǎo)式生成100以內(nèi)的所有偶數(shù)。
程序編寫于下方
aList=[iforiinrange(2,101,2)]
print(aList)
任務(wù)2:【列表推導(dǎo)式應(yīng)用2】
使用列表推導(dǎo)式實(shí)現(xiàn)矩嶼轉(zhuǎn)置。
程序編寫于下方
aList=[[1,2,3],[1,2,3],[1,2,3]]
bList=[]
xList=[]
foriinrange(0
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 高考全國卷思想政治考試卷題庫(含答案解析)
- 南昌市2024江西南昌市市級機(jī)關(guān)事業(yè)單位資產(chǎn)管理服務(wù)中心招聘2人筆試歷年參考題庫典型考點(diǎn)附帶答案詳解(3卷合一)
- 網(wǎng)頁設(shè)計(jì)面試題及答案解析
- 教育專家招聘面試高效提問與答案解析
- 游戲開發(fā)崗位面試問題解析
- 橡膠廠長面試題及答案
- 2025年私家車共享服務(wù)平臺建設(shè)可行性研究報告
- 2025年城市水資源管理系統(tǒng)創(chuàng)新項(xiàng)目可行性研究報告
- 2025年智能化倉儲管理系統(tǒng)開發(fā)可行性研究報告
- 2025年全鏈條食品追溯系統(tǒng)項(xiàng)目可行性研究報告
- 傳染病報告卡
- 句法成分課件(共18張)統(tǒng)編版語文八年級上冊
- 2023版中國近現(xiàn)代史綱要課件:07第七專題 星星之火可以燎原
- 通知書產(chǎn)品升級通知怎么寫
- 氣管插管術(shù) 氣管插管術(shù)
- 大學(xué)《實(shí)驗(yàn)診斷學(xué)》實(shí)驗(yàn)八:病例分析培訓(xùn)課件
- GB/T 28400-2012釹鎂合金
- 多維閱讀第8級Moon Mouse 明星老鼠的秘密
- 骨髓增生異常綜合癥課件整理
- 心肌梗死院前急救課件
- 雙升基本知識-信號
評論
0/150
提交評論