




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
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的輸入與輸出的寫(xiě)法
4.掌握Python變量與標(biāo)識(shí)符的運(yùn)用
5.能夠利用Python語(yǔ)言基礎(chǔ)編寫(xiě)簡(jiǎn)單的Python代碼
二、單元練習(xí)
(一)選擇題
1.下列用戶標(biāo)識(shí)符中合法的是(C)
A.2name、length!>_elB.m_a>name>#int
C.m_Narne>length1._nameD._nanie、Gcn$2、length1
2.關(guān)于標(biāo)識(shí)符,下列說(shuō)明錯(cuò)誤的是(B)
A.標(biāo)識(shí)符可以由字母、數(shù)字、下劃線組成
B.標(biāo)識(shí)符必須由字母、下劃線、數(shù)字開(kāi)始
C.標(biāo)識(shí)符大小寫(xiě)敏感(不同)
D.標(biāo)識(shí)符不可以使用Python的關(guān)鍵字
3.將python中的.py文件轉(zhuǎn)換為.pyc文件的組件為(B)
A.編輯器B,編譯器C.虛擬機(jī)D.連接器
(二)填空題
1.Python由解釋器、編譯器和虛擬機(jī)三個(gè)主要部分組成。
2.Python程序設(shè)計(jì)中一行可以寫(xiě)條語(yǔ)句,每條語(yǔ)句以換行結(jié)束。
3.Python程序設(shè)計(jì)的注釋是以2開(kāi)頭,也可以用(三個(gè)引號(hào))符號(hào)代替注釋,注
釋對(duì)程序的執(zhí)行不起任何作用。
4.編寫(xiě)Python語(yǔ)言,其擴(kuò)展名為.py,編譯后生成的文件擴(kuò)展名為rye.
5.Python3的數(shù)字類型分為int、long、float、complex等子類型。
6.可以使用八—符號(hào)把一行過(guò)長(zhǎng)的Python語(yǔ)句分解成幾行。
7.Python2中使用#coding:utf-8支持中文編碼。
(三)名詞解釋
1.解釋器:用來(lái)運(yùn)行語(yǔ)句O
2.編譯器:將.py文件轉(zhuǎn)換成.pyc文件o
3.虛擬機(jī):用來(lái)運(yùn)行.pyc文件o
三、實(shí)訓(xùn)任務(wù)
任務(wù)1:【安裝Python】
1.Python官方網(wǎng)站下載并安裝python3.6msi包。
2.安裝pycharmGUI開(kāi)發(fā)環(huán)境。
3.配置Python環(huán)境變量,并能成功在cmd命令下進(jìn)行Python的代碼運(yùn)行。
任務(wù)2:【打印】
編寫(xiě)一個(gè)簡(jiǎn)短的程序,打印下面內(nèi)容:你的姓名、生日以及你最喜歡的顏色。具體格式
如卜所示:
?Je????*?
你的姓名
生日
你最喜歡的顏色
sjc5^Csjc5^C?J?5^
程序編寫(xiě)于下方
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)型輸出。
程序編寫(xiě)于下方
frommathimportsqrl
a=int(input('請(qǐng)輸入三角形邊a:'))
b=int(input(,請(qǐng)輸入三角形邊b:')i
c=int(input(,請(qǐng)輸入三角形邊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。無(wú)法構(gòu)成三角形,)
任務(wù)4:【圓形的周長(zhǎng)】
輸入圓的直徑,計(jì)算其面積(pi=3.14)
程序編寫(xiě)于下方
1=int(inputC請(qǐng)輸入圓形直徑))
pi=3.14s=pi*(1/2)**2
print,圓形的面積為:{}〔format(s))
四、拓展任務(wù)
任務(wù)1:【梯形的面積】
輸入梯形的上底,下底和高,計(jì)算梯形(trapezoid)面積。
程序編寫(xiě)于下方
top=int(inputC請(qǐng)輸入梯形上底1))
base=int(input(,請(qǐng)輸入梯形下底:))
h=int(input('請(qǐng)輸入梯形高:1))
s=(top+base)*h/2
printC梯形的面積為:{F.format(s))
任務(wù)2:【菱形的面積】
輸入菱形的高和底,計(jì)算其面積(公式:菱形二底義高)
程療編寫(xiě)于下方
base=int(input('請(qǐng)輸入菱形底:'))
h=int(inputC請(qǐng)輸入菱形高
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語(yǔ)言基礎(chǔ)編寫(xiě)簡(jiǎn)單的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.下面哪個(gè)不是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,寫(xiě)成Python語(yǔ)言表達(dá)式為s=pi*rA2
5.若定義a=97,執(zhí)行print(n+8+3)后,結(jié)果為a83。
6.若定義a=97,執(zhí)行print(a+8+3)后,結(jié)果為報(bào)錯(cuò)。
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)代英君和其他西
歐語(yǔ)言。它是現(xiàn)今最通用的信息交換標(biāo)準(zhǔn),并等同于國(guó)際標(biāo)準(zhǔn)ISO/IEC646o
2.程序調(diào)試:將編制的程序投入實(shí)際運(yùn)行前,用手工或編譯程序等方法進(jìn)行測(cè)試,修正
語(yǔ)法錯(cuò)誤和邏輯錯(cuò)誤的過(guò)程。
3.軟件測(cè)試:描述一種用來(lái)促進(jìn)鑒定軟件的正確性、完整性、安全性和質(zhì)量的過(guò)程。
4.導(dǎo)入模塊:把pylhon文件解釋一遍。
三、實(shí)訓(xùn)任務(wù)
任務(wù)1:[PyCharm中Python版本的切換】
請(qǐng)參考1213章節(jié)的兩種方法。
任務(wù)2:【換字游戲】
編寫(xiě)一個(gè)換字游戲,要求將兩個(gè)整數(shù)a和b進(jìn)行交換,然后打印出來(lái)。
程序編寫(xiě)于下方
a=int(input('請(qǐng)輸入整數(shù)a:'))
b=int(input(,請(qǐng)輸入整數(shù)b:'))
a,b=b,a
printfa:{}'.format(a))
print('b:{}'.foi~mat(b))
任務(wù)3:【數(shù)字合并】
編寫(xiě)程序,將兩個(gè)整數(shù)a和b合并成一個(gè)整數(shù)放到c里面,并打印出來(lái)。
程序編寫(xiě)于下方
a=input。請(qǐng)輸入整數(shù)a:')
b=input('請(qǐng)輸入整數(shù)b:')
c=a+b
print('c:{}'.format(c))
任務(wù)4:【隨機(jī)數(shù)的倍增】
用隨機(jī)數(shù)包產(chǎn)生一個(gè)。?20的隨機(jī)數(shù)(包括小數(shù)),在產(chǎn)生一個(gè)10~30的隨機(jī)整數(shù)作為
前面隨機(jī)數(shù)的倍增的量。
程序編寫(xiě)于下方
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ù)字合并提高】
編寫(xiě)程序,將兩個(gè)的兩位數(shù)整數(shù)a和b合并成一個(gè)整數(shù)放到c里面,合并的方式為:將a
數(shù)的十位和個(gè)位數(shù)依次放到c數(shù)的個(gè)位和百位上,將b數(shù)的十位和個(gè)位數(shù)依次放到c數(shù)的十位
和千位上。并將c打印出來(lái)。
程序編寫(xiě)于下方
a=int(inpul('請(qǐng)輸入兩位整數(shù)a:'))
b=int(input('請(qǐng)輸入兩位整數(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ù)庫(kù)包random,生成隨機(jī)三個(gè)1-20的整數(shù),將三個(gè)數(shù)相除,以字符串格式輸
出,
程序編寫(xiě)于下方
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語(yǔ)言完成實(shí)訓(xùn)任務(wù)中的任務(wù)2和任務(wù)3。
(1)編寫(xiě)一個(gè)換字游戲,要求將兩個(gè)整數(shù)a和b進(jìn)行交換,然后打印出來(lái)。
程序編寫(xiě)于下方
#coding:utf-8
a=input(情輸入整數(shù)a:')
b=input,請(qǐng)輸入整數(shù)b:')
a,b=b,a
print'a:{}'.format(a)
piint'b:{format(b)
(2)編寫(xiě)程序,將兩個(gè)整數(shù)a和b合并成一個(gè)整數(shù)放到c里面,并打印出來(lái)。
程序編寫(xiě)于下方
#coding:utf-8
a=inpulC請(qǐng)輸入整數(shù)a:')
b=input('請(qǐng)輸入整數(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é)會(huì)Python的縮進(jìn)格式
3.理解形參、實(shí)參、返P1值、局部變量與全局變量
4.掌握Python的常用運(yùn)算
5.掌握Python的格式化輸出
二、單元練習(xí)
(-)選擇題
1.關(guān)于函數(shù)的目的,以下說(shuō)明不正確的是(B)
A.提高程序的執(zhí)行效率B.減少程序文件所占用的內(nèi)存
C.提高程序的可讀性D.提高程序的開(kāi)發(fā)效率
2.Python中縮進(jìn)(B)個(gè)空格
A.1B.4C.6D.2
3.Q為局部變量的是(B)
A.ReturnQB.deffun():Q=1C.Q=1D.printQ
4.關(guān)于函數(shù)名,下列說(shuō)法正確的是(B)
A.函數(shù)名必須以下劃線和數(shù)字開(kāi)頭
B.函數(shù)名可以包含任意字母、數(shù)字或下劃線的組合
C.函數(shù)名能使用任何的標(biāo)點(diǎn)符號(hào)
D.函數(shù)名不區(qū)分大小寫(xiě)
(二)填空題
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:【求圓形的面積】
編寫(xiě)一個(gè)函數(shù)。輸入圓形的半徑,計(jì)算其面積。
程序編寫(xiě)于下方
defcalc_circular(r):
area=3.14*r**2
returnarea
任務(wù)2:【自編一個(gè)函數(shù)包,計(jì)算正方形】
輸入正方形的邊長(zhǎng),利用函數(shù)包計(jì)算,打印出結(jié)果,
程序編寫(xiě)于下方
defcalc_rectangle(l):
area=1**2
long=1*2
returnprint('正方形的面積是:{0},周長(zhǎng)是:{1},.format(area,long))
任務(wù)3:【自編一個(gè)函數(shù)包,完成下面圖形的面積】
圖1
程序編寫(xiě)于下方
defcalc_area(r):
area=3.14*r+(2*r)**2
returnarea
圖2
程序編寫(xiě)于下方
defcalc_area(r):
area=(2*r)**2-3.14*r**2
returnarea
圖3
程序編寫(xiě)于下方
defcalc_area(r):
area=3.14*r**2-(r*2**0.5)
returnarea
四、拓展任務(wù)
任務(wù)1:【利用海倫公式求三角形面積】
編寫(xiě)一個(gè)程序,利用海倫公式求三角形面積。
海倫公式如下:
s="(p-a)(p-S)(p-c)
程序編寫(xiě)于下方
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無(wú)法構(gòu)成三角形’
a=im(input('請(qǐng)輸入三角形邊1:'))
b=inl(inpul('請(qǐng)輸入三角形邊2:'))
c=inl(input('請(qǐng)輸入三角形邊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分支語(yǔ)句編寫(xiě)Python代碼
二、單元練習(xí)
(-)選擇題
1.下列選項(xiàng)中,當(dāng)x為大于1的奇數(shù)時(shí),運(yùn)算結(jié)果為。的表達(dá)式是(C)
A.x%2==lB.x/2
C.x%2!=0D.x%2=0
2.在嵌套使用if語(yǔ)句時(shí),Python語(yǔ)言規(guī)定else總是(A)
A.和之前與其具有相同縮進(jìn)位置的if相匹配;
B.和之前與其最近的if相匹配;
C.和之前的第一個(gè)if配對(duì);
D.和之前與其最近且不帶else的if配對(duì)。
3.下列Python語(yǔ)句正確的是(D)
A.min=xifx<yelsey
B.max=x>y?x:y
C.if(x>y)printx
D.if1>2:print(uhello")
(-)填空題
1.寫(xiě)出下列表達(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)先級(jí)
最高的運(yùn)算符是**指數(shù),最低的運(yùn)算符not、or、and。
3.判斷一個(gè)字符是數(shù)字字符的條件表達(dá)式isdigil。
4.判斷一個(gè)字符是字母的條件表達(dá)式isalnum°
5.在Python語(yǔ)言中,用true表示邏輯“真",用false表示邏輯“假
三、實(shí)訓(xùn)任務(wù)
任務(wù)1:【猜字游戲】
編寫(xiě)一個(gè)猜字游戲,要求隨機(jī)輸入一個(gè)0-10的數(shù)字,提供1次猜字機(jī)會(huì)。
程序編寫(xiě)于下方
importrandom
secret=random.randint(0,10)
print("請(qǐng)你猜一猜從1到10的數(shù)字”)
print("你只有一次機(jī)會(huì)”)
guess=eval(input("請(qǐng)輸入你猜的數(shù)字:"))
ifguess<secret:
prim('太小了')
elifguess>secret:
printC太大了)
else:
print。答對(duì)了)
prinl('正確答案是:'+str(secret))
任務(wù)2:【學(xué)生成績(jī)等級(jí)評(píng)定】
根據(jù)學(xué)生考試成績(jī),確定成績(jī)等級(jí),成績(jī)與等級(jí)的對(duì)應(yīng)關(guān)系如下表所示。
成績(jī)(score)等級(jí)(level)
score>=90A
80<=score<90B
70<=score<80C
60<=score<70D
Scorc<60F
程序編寫(xiě)于下方
score=eval(inputC請(qǐng)輸入你的考試成績(jī):'))
ifscore>=90:
level='A'
print(你的考試等級(jí)為:Tlevel)
elif(score>=80)and(score<90):
level=B
printC你的考試等級(jí)為:,+level)
elif(score>=70)and(score<80):
level='C
prini('你的考試等級(jí)為:'+level)
elif(score>=60)and(score<70):
level='D'
printC你的考試等級(jí)為:,+level)
else:
level='E'
print(你的考試等級(jí)為:,+level)
任務(wù)3:【輸入字符判斷】
鍵盤(pán)輸入一個(gè)字符,判斷該字符是數(shù)字、字母、空格還是其他。
程序編寫(xiě)于下方
word=input,請(qǐng)輸入你的字符:,)
ifword.isdigit():
printC你輸入的是數(shù)字
elifword.isalpha():
printC你輸入的是字母)
elifword.isspace():
prim,你輸入的是空格)
else:
print('你輸入的是其他')
任務(wù)4:【身體質(zhì)量指數(shù)判斷】
身體質(zhì)量指數(shù)(BMI)是指用體重除以身高的平方得出的數(shù)字,它是目前國(guó)際常用的衡量
人體胖瘦程度以及是否健康的一個(gè)標(biāo)準(zhǔn),具體如下。
BMI值<18.518.5-24.925.0?27.9>27.9
身體情況消瘦正常超重肥胖
程序編寫(xiě)于下方
high=eval(input(,請(qǐng)輸入你的身高:))
wight=eval(inpul(,請(qǐng)輸入你的體重:))
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ā)放獎(jiǎng)金判斷】
企業(yè)發(fā)放的獎(jiǎng)金根據(jù)利潤(rùn)提成。利潤(rùn)⑴低于或等于10萬(wàn)元時(shí),獎(jiǎng)金可提10%;利潤(rùn)高于
1()萬(wàn)元,低于2()萬(wàn)元時(shí),低于1()萬(wàn)元的部分按10%提成,高于10萬(wàn)元的部分,可提成7.5%;
2()萬(wàn)到4()萬(wàn)之間時(shí),高于20萬(wàn)元的部分,可提成5%;40萬(wàn)到60萬(wàn)之間時(shí)高于4()萬(wàn)元的
部分,可提成3%;6()萬(wàn)到10()萬(wàn)之間時(shí),高于60萬(wàn)元的部分,可提成1.5%,高于10()萬(wàn)元
時(shí),超過(guò)100萬(wàn)元的部分按1%提成,從鍵盤(pán)輸入當(dāng)月利潤(rùn)L求應(yīng)發(fā)放獎(jiǎng)金總數(shù)?
程序編寫(xiě)于下方
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)寫(xiě)一個(gè)程序,判斷輸入的月份應(yīng)該有多少天。(2月定為28天)。
程序編寫(xiě)于下方
month=input('請(qǐng)輸入月份(例:一月):,)
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)站在登錄時(shí),都會(huì)進(jìn)行“驗(yàn)證碼”輸入。在輸入驗(yàn)證碼字符時(shí),無(wú)論用戶輸入的
是大寫(xiě)字母還是小寫(xiě)字母,驗(yàn)證時(shí)都會(huì)忽略大小寫(xiě)的差異,認(rèn)為是相同的字符。這說(shuō)明系統(tǒng)已
經(jīng)對(duì)驗(yàn)證碼中的字符和用戶輸入的字符進(jìn)行了大小寫(xiě)轉(zhuǎn)換,然后進(jìn)行匹配。那么這種轉(zhuǎn)換是如
何實(shí)現(xiàn)的?請(qǐng)編程實(shí)現(xiàn)“從鍵盤(pán)輸入一組字符,無(wú)論大小寫(xiě),都轉(zhuǎn)換成小寫(xiě)形式輸出”。
程序編寫(xiě)于下方
string=input('Plcascinputyourtext:*)
print(string.lower())
拓展任務(wù)2:【商品促銷】
某淘寶商場(chǎng)采用購(gòu)物打折的方式進(jìn)行促銷。具體促銷方式如下:
購(gòu)買金額折扣
1000元及以上九折
2000元及以上八折
3000元及以上七折
請(qǐng)編寫(xiě)程序,當(dāng)輸入顧客實(shí)際購(gòu)物金額,計(jì)算并輸出優(yōu)惠價(jià)。
程序編寫(xiě)于下方
money=eval(input,請(qǐng)輸入你的購(gòu)物金額
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:【閏年】
輸入一個(gè)年份,求它是否是閏年?閏年的條件是:能被4整除不能被100整除或者能被
400整除(y%4==0andy%100!=0ory%400==0)
程序編寫(xiě)于下方
year=eval(input('請(qǐng)輸入年份:'))
while(l):
ifyear>=1000andyear<=9999:
if(year%4==0rndyear%100!=0)or(ycar%100==0):
prime該年為閏年)
else:
printC該年不是閏年)
break
else:
year=eval(inputC請(qǐng)輸入正確年份:,))
拓展任務(wù)4:【月份判斷】
使用if結(jié)構(gòu)寫(xiě)一個(gè)程序,判斷輸入的月份應(yīng)該有多少天。(2月根據(jù)是否是閏年判斷是否
28天還是29天)。
程序編寫(xiě)于下方
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('請(qǐng)輸入年月(例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)】
一、知識(shí)點(diǎn)清單
1、掌握while循環(huán)語(yǔ)句使用方法
2、掌握f(shuō)or循環(huán)語(yǔ)句使用方法
3.能夠利用流程控制語(yǔ)句解決實(shí)際編程問(wèn)題
二、單元練習(xí)
(-)填空題
1.如果循環(huán)無(wú)休止的進(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:【猜字游戲】
編寫(xiě)一個(gè)猜字游戲,要求隨機(jī)輸入一個(gè)0-100的數(shù)字,提供6次猜字機(jī)會(huì)。
程序編寫(xiě)于下方
importrandom
key=random.randint(l,10)
c=0
c2=6
whilec<3:
word=eval(inputC猜一猜1-10的數(shù)字,請(qǐng)輸入答案,還剩{}次機(jī)會(huì):'.format(c2-c)))
c+=1
ifkey>word:
print('太小了’)
elifkey<word:
printC太大了)
else:
printC你在第{}次答對(duì)了次rmat(c))
break
ifkey!=word:
print.很遺憾你猜錯(cuò)了)
print。正確答案是:,+str(key)i
任務(wù)2:【統(tǒng)計(jì)字符分類】
輸入一行字符,統(tǒng)計(jì)出其中英文字母、空格、數(shù)字以及其他字符的個(gè)數(shù),并打印出來(lái)。
程序編寫(xiě)于下方
word=inputC請(qǐng)輸入你的文本:,)
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}個(gè)字母,{1}個(gè)數(shù)字,{2}個(gè)空格,{3}個(gè)其他字符
,.format(num_alpha,num_digit,num_space,num_other))
任務(wù)3:【水仙花數(shù)】
輸出所有的“水仙花數(shù)”。“水仙花數(shù)”是指一個(gè)三位數(shù),其各位數(shù)字立方和等于該數(shù)
本身。例如:153=13+53+33,該數(shù)即為水仙花數(shù)。
程序編寫(xiě)于卜方
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ù),能組出多少個(gè)互不相同且不重復(fù)數(shù)字的三位數(shù)?并打印出
來(lái),
程序編寫(xiě)于下方
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:【評(píng)委評(píng)分】
分別利用while語(yǔ)句和for語(yǔ)句完成如下功能。
某比賽有7個(gè)評(píng)委,選手的得分為這7個(gè)評(píng)委的評(píng)分總和,請(qǐng)編程實(shí)現(xiàn)統(tǒng)計(jì)功能。
程序編寫(xiě)于下方
while方式:
Ssum=0
c=0
whilec<7:
score=eval(input('{}號(hào)評(píng)委請(qǐng)輸入評(píng)分:’.format(c+1)))
Ssum=Ssum+score
c+=1
print('該選手得分為:{}'.fonnat(Ssum))
程序編寫(xiě)于下方
for方式:
Ssum=0
foreinrange(l,8):
score=cval(input(']}號(hào)評(píng)委請(qǐng)輸入評(píng)分:’.format(c)))
Ssum=Ssum+score
print('該選手得分為:(}\fonnat(Ssum))
任務(wù)6:[break語(yǔ)句和continue語(yǔ)句的使用】
輸入若干字符,對(duì)輸入的英文字母原樣輸出,其他字符不輸出,直到輸入回車鍵時(shí)結(jié)束。
程序編寫(xiě)于下方
text="
word="
while1:
word二inputC請(qǐng)輸入文本:1)
foriinword:
ifi.isalpha():
text=text+i
print(text)
text="
ifword==
break
四、拓展任務(wù)
任務(wù)1:【韓信點(diǎn)兵】
淮安民間傳說(shuō)著一則故事一一“韓信點(diǎn)兵”。話說(shuō)韓信帶1500名兵士打仗,戰(zhàn)死四五百
人,于是韓信要求士兵們先后站3人一排,多出2人;站5人一排,多出4人;站7人一排,
多出6人。韓信很快說(shuō)出人數(shù):1049。
現(xiàn)在給你3個(gè)隊(duì)伍的多出人數(shù),分別為非負(fù)整數(shù)a,b,c,請(qǐng)計(jì)算軍隊(duì)的總?cè)藬?shù)?
程序編寫(xiě)于下方
a=eval(input(,請(qǐng)輸入3人一排多出幾人:,))
b=eval(input(,請(qǐng)輸入5人一排多出幾人:’))
c=eval(input(,請(qǐng)輸入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無(wú)符合人數(shù)》
任務(wù)2:【數(shù)數(shù)游戲】
有n個(gè)人圍成一圈,順序排號(hào)。從第一個(gè)人開(kāi)始報(bào)數(shù),凡報(bào)到5的人退出圈子,問(wèn)最后
留下的是原來(lái)第幾號(hào)。
程序編寫(xiě)于下方
defJudgePeople(x):
fbriinstr(x):
ifi=='5':
returnTrue
break
returnFalse
“'判斷傳入?yún)?shù)是否包含5,若包含5則返回True,否則返回False"
people二eval(input。請(qǐng)輸入人數(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,最后一個(gè)人的編號(hào)是:{}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é)會(huì)列表推導(dǎo)式的應(yīng)用
二、單元練習(xí)
(-)選擇題
1.Python列表不包含了以下哪個(gè)內(nèi)置函數(shù)(D)
A.len()B.max()C.min()D.tuple()E.list()
2.列表中可以放多少個(gè)字符串(C)
A.lB.255C.無(wú)限個(gè)D.由用戶自己定義
(二)填空題
1.已知tmp二rDeris?Weng:2018,2019],請(qǐng)?zhí)顚?xiě)下面的結(jié)果。
tmp[1]=Weng
tmp[-11=2019
tmp[:2]二['Deris?Weng']
tmpl::2]二['Deris,2018|
2.請(qǐng)?zhí)顚?xiě)Pyihon表達(dá)式對(duì)應(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個(gè)空列表alisi(用兩種方法實(shí)現(xiàn))
程序編寫(xiě)于下方
alist=[]
blist=list()
print(alist)
print(blist)
2、創(chuàng)建一個(gè)長(zhǎng)10000的列表blist(列表元素內(nèi)容為1開(kāi)始的整數(shù))
程序編寫(xiě)于下方
alist=[i+Iforiinrange(10(X)())]
print(alist)
print(len(alist))
3、創(chuàng)建一個(gè)長(zhǎng)10000的列表clist(列表元素內(nèi)容均為1)
程序編寫(xiě)于下方
alist=[1foriinrange(1()()()())]
print(alist)
print(len(alist))
4、編寫(xiě)程序,用戶輸入一個(gè)列表和2個(gè)整數(shù)作為下標(biāo),然后使用切片獲取并輸出列表中
介于2個(gè)下標(biāo)之間的元素組成的子列表。例如用戶輸入[1.2.3.4.5.6]和2,5,程序輸出[3.4.5.
6]c
程序編寫(xiě)于下方
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:【列表截取與拼接】
編寫(xiě)下列代碼,觀察結(jié)果,并說(shuō)明原因。
I1=[iforiinrange(0,15)J
2print(U:⑵)
結(jié)果:
1()2441
I1=[iforiinrange(0,15)l
2print。[::-2])
結(jié)果:
[14,12JO,&6,4,2.01
說(shuō)明原因:
第一個(gè)是從0到15間隔“2”取值,第二個(gè)是從15到0間隔“2”取值
任務(wù)3:【二維列表】
編寫(xiě)下列代碼,觀察結(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ī)制】
寫(xiě)出下列語(yǔ)句執(zhí)行后的垢果。
結(jié)果為:LL2A31rl.2.3ML2,3U1.2.3]______________________________________________________
繼續(xù)執(zhí)行如下語(yǔ)句:
Ib[0]='b'
2print(a,b,c,d)
結(jié)果為:「b;2、3]「b:2,3]r,b',2,3]11,2、3]_____________________________________________
繼續(xù)執(zhí)行如下語(yǔ)句:
print(id(a),id(b),id(c),id(d))
結(jié)果為:1517100229256151710022925615171002292561517100229320_________________
繼續(xù)執(zhí)行如下語(yǔ)句:
Ic[0]=1'
2print(a,b,c,d)
結(jié)果為:[匕2、3]I'c;2,31I'c',2,3]11,2.31______________________________________________
繼續(xù)執(zhí)行如下語(yǔ)句:
Id[0]='d'
2print(a,b,c,d)
結(jié)果為:「柴2,3]「U2,3]「c',2、31「U2,31_____________________________________________
繼續(xù)執(zhí)行如下語(yǔ)句:
Iprint(id(a),id(b),id(c),id(d))
結(jié)果為:2440527569544244052756954424405275695442440527569608_________________
請(qǐng)對(duì)上述的實(shí)驗(yàn)過(guò)程進(jìn)行總結(jié):
總結(jié):可以看到a,b,c三個(gè)是同一個(gè)id值,當(dāng)改變當(dāng)中任意一列表元素的值后,三者會(huì)
同步改變。
任務(wù)5:【列表與循環(huán)的混合使用】
1輸出結(jié)果:[1lovepython,2lovepython,3lovepython,10lovepython]
程序編寫(xiě)于下方
alist=[*{:<1)lovepython'.fbrmat(i+1)foriinrange(1())]
print(alist)
2、輸出結(jié)果:[(0,0),(0,2),(2,0),(2,2)]
程序編寫(xiě)于下方
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ù)。
程序編寫(xiě)于下方
aList=[iforiinrange(2,101,2)]
print(aList)
任務(wù)2:【列表推導(dǎo)式應(yīng)用2】
使用列表推導(dǎo)式實(shí)現(xiàn)矩嶼轉(zhuǎn)置。
程序編寫(xiě)于下方
aList=[[1,2,3],[1,2,3],[1,2,3]]
bList=[]
xList=[]
foriinrange(0
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2019-2025年中國(guó)零售行業(yè)市場(chǎng)調(diào)研分析及投資戰(zhàn)略咨詢報(bào)告
- 高校承包食堂合同范本
- 破解縣域初中語(yǔ)文實(shí)踐活動(dòng)課程實(shí)施困境的新視角
- 購(gòu)買焊機(jī)合同范本
- 便當(dāng)飯團(tuán)采購(gòu)合同范本
- 2024-2030年中國(guó)浙江省生活垃圾清運(yùn)處理行業(yè)發(fā)展監(jiān)測(cè)及投資戰(zhàn)略規(guī)劃報(bào)告
- 2020-2025年中國(guó)腦血管用藥行業(yè)市場(chǎng)調(diào)查研究及投資前景預(yù)測(cè)報(bào)告
- 裝卸安全合同范本
- 富硒小球藻及富硒油菜粉的功能性研究
- Fe-CuAl-LDO活化過(guò)硫一酸鹽降解羅丹明B的研究
- 英納能特種防護(hù)材料珠海產(chǎn)研生態(tài)基地建設(shè)項(xiàng)目(一期)環(huán)境影響報(bào)告表
- 建筑與市政施工現(xiàn)場(chǎng)安全衛(wèi)生與職業(yè)健康通用規(guī)范培訓(xùn)課件
- 中小學(xué)音樂(lè)課堂體驗(yàn)活動(dòng)設(shè)計(jì)
- 直流風(fēng)扇QC工程圖
- 各國(guó)插頭標(biāo)準(zhǔn)規(guī)定型號(hào)尺寸
- 形式發(fā)票與商業(yè)發(fā)票的區(qū)別
- 《中華民族大團(tuán)結(jié)》(初中)第1課-愛(ài)我中華教學(xué)課件
- 三好學(xué)生競(jìng)選PPT
- 化學(xué)(基礎(chǔ)模塊)中職PPT完整全套教學(xué)課件
- 2023年福建三明市沙縣區(qū)園區(qū)建設(shè)發(fā)展集團(tuán)有限公司招聘筆試題庫(kù)含答案解析
- 運(yùn)維管理平臺(tái)投標(biāo)技術(shù)方案
評(píng)論
0/150
提交評(píng)論