資源簡介 (共54張PPT)第三章算法的程序實現1、python 語言程序設計2、簡單算法及其程序實現學習目標123熟悉并會使用算術運算符、關系運算符、邏輯運算符、字符串運算符。4函數與模塊If語句,順序結構,循環結構等。熟悉Python數據類型與表達式,變量和賦值語句12重點難點重點:難點:函數與模塊。If 語句,順序結構,循環結構等。課堂導入Python是一種面向對象的程序設計語言,可以支持很多日常問題的程序實現,特別適合應用程序的快速開發。一、數據類型與表達式1 、python常見數據類型2、 python 算術運算符特別注意://(向下取整)所求結果往小取整,例如:-5//2= -3一、數據類型與表達式2、 python 關系運算符運算符 表達式 優先級 示例> a>b 1 5>2結果為True< a>= a>=b 1 5>=2結果為True<= a<=b 1 5<=2結果為False== a==b 2 5==2結果為False!= a!=b 2 5!=2結果為Truein a in b 2 2 in[3,4,5]結果為False一、數據類型與表達式手機有多少的傳感器4、 python 邏輯運算符優先級:not>and>or一假全假一真全真(2>3)and(3<4)(2>1)and(3<4)(2>3)or(3<4)(2>1)or(3<4)(2>3)and 5(2>3)or 5falseturetureturefalse5一、數據類型與表達式5、 python 賦值運算符一、數據類型與表達式二、變量和賦值語句賦值語句:python中采用:“變量名=值、表達式”進行賦值。如:class=170;y=x+10變量:值可以進行變化的量。例如:name = 張三,name = 李四。name就是變量常量:值不能進行變化的量。例如:Π變量命名規則:在程序運行過程中變量的值是可以改變的。Python中的變量名可以由大小寫字母、數字、下劃線組成,不能以數字開頭,字母區分大小寫,不能使用保留字(例如:for、if、print、while、range、Python、int、str )。P71課堂練習1、在Python中,下面哪一行代碼的輸出結果不是hello2020( )A. print (“ hello2020” )B. print (“hello” +“2020” )C. print (“hello” + 2020)D. print (“hello” +str (2020) )C2、小楊同學在編寫程序過程中給不同的變量取了名字,下列哪個變量名會導致程序運行出錯( )。A. kk360 B. YaoC.51study D. xy_tt3、下列語句中,會導致程序運行出錯的是( )A. x= (y=1) B. x, y=y, x C. x=1; y=1 D. x=y=1CA4、運行Python程序的過程中出現了如下圖錯誤提示,原因是( )。51study= "chinese"File "",line 151study= "chinese"SyntaxError:Ginvalid syntaxA.變量名51study太長B.應該寫成" chinese" = 51studyC.“chinese”應該寫成“china's"D.變量名51study不符合python 語言規范,變量名不能以數字開頭D5、在下面的python程序中,變量b和c的值為( )a=6a=b=c=8print(b,c)A.b為6,c為6 B.b為6,c為8C.b為8,c為8 D.b為8,c為6C6、Python表達式a=b中“=”表示( )A.交換“=”左右兩邊變量的值B.把“=”右邊變量的值賦值給左邊變量C.把“=”左邊變量的值賦值給右邊變量D.比較“=”左右兩邊變量的值是否相等B7、在Python中,print (int ( - 14//2* *2))的執行結果是( )A.-4B.-3C.4D.3A8、小明要把x個蘋果平均分給n個同學,最后余下y個。以下Python 表達式正確的是( )。A. y=x//nB. y=x%nC.x=y+nD. y=x/nB第三章算法的程序實現1、python 語言程序設計2、簡單算法及其程序實現列表元組集合字典字符串Python數據結構Python基本數據結構-字符串字符串的定義:“ ”或‘ ’括起來的一串字符, 標點符號也屬于字符串索引:標號都是從0開始 格式:變量名[索引標號]str1=‘1234567’03Python基本數據結構-列表列表是有序可變序列,列表所有元素放在一對中括號“[ ]”中,并使用逗號隔開。info=[”BH60018”,”蘋果”,50]訪問單個元素:變量名[ 索引號]訪問多個元素:變量名 [start : end : step]start表示起始位置索引,省略時表示包含end前的所有元素。end表示結束位置索引,但結果中不包含結束位置對應的元素。step表示是步長,默認為1,步長可以是正數也可以是負數,正數表示從左到右,負數表示從右到左。>> > info= ["BH60018", "蘋果", 50]>> > info [2]50>> > S="Hello">> > s [1]‘e‘>> > info [0: 2:1][‘BH60018’, ‘蘋果’]>> > s [1: 4:1]’ell'字典可包含多個元素,每個元素包含兩部分內容:鍵和值。、所有鍵和值都放在{ }中。dic={鍵1:值1,鍵2:值2,...,鍵n:值n}dict = {‘姓名’: ‘小張’, ‘年齡’: 18, ‘班級’: ‘2班’},請問要得到字典中鍵為“年齡”的值的是 。Python基本數據結構-字典18常用內置函數輸入輸出:input( )、print( )類型轉換: int( )、float( )、str( )絕對值:abs( )輸入輸出:input( )、print( )input( ):獲取鍵盤輸入的字符串數據print( ):輸出程序運行結果類型轉換: int( )、float( )、str( )int( ):將數據轉換為整型float( ):將數據轉換為實型str( ):將數據轉換為字符串型思考:T= int( input( “輸入數據:” )),T的數據類型是?課堂練習1、在Python中,如果s1 =“我愛我的祖國”,那么print (s1 [3])的運行結果是( )。A.我B.愛C.的D.國C課堂練習2、在Python中, 如果列表L2= [“云南”, 675000, “昆明”,321.45],那么print(L2 [1:3]) 的運行結果是( )A. [675000,‘昆明']B. [“云南”,‘昆明’]C. [675000,‘昆明’,321.45]D. [“云南”,675000, ‘昆明’]A課堂練習3、在Python中, 如果字典zd001 ={ “0871" :“昆明”, “0874”: “曲靖”,“0879”:“普洱”, “0887”:“ 迪慶”, 那么print (zd001 [“0874"]) 的運行結果是( )。A. 昆明B. 曲靖C. 普洱D. 迪慶B第三章算法的程序實現1、python 語言程序設計2、簡單算法及其程序實現順序結構的程序實現開始結束輸入身高、體重計算BMI=體重/身高2輸出BMIBMI是用于衡量身體健康狀況的,BMI的計算方法為:體重除以身高的平方。分支結構的程序實現1、單分支if 格式If<條件表達式>:<語句A>2、雙分支if……else格式If<條件表達式>:<語句A>else:<語句B>3、多分支if…elif….else格式If <表達式1>:<語句1>Elif<表達式2>:<語句2>…….Elif<表達式N>:<語句N>else:<語句N+1>單分支age = 10if age <= 20:print("oh!you are yong")雙分支age = 10if age <= 20:print("oh!you are yong")else:print("oh!you are too old")多分支age = 16if age <= 2:print("oh!you are baby")elif 2< age <= 15print("oh!you are boy")elif 15< age <= 20print("oh!you are young")else :print("oh!you are old")劃橫線的地方是什么?有什么作用了?循環結構的程序實現for循環格式:for<變量>in<序列>:<循環體>while循環格式:while <條件>:<循環體>for循環格式:for<變量>in<序列>:<循環體>for x in [1, 2, 3, 4, 5]:print (“你好”)hobby= [1, 2, 3, 4, 5]for x in hobby:print (“你好”)for x in range(1,6,1):print (“你好”)編程計算1+2+3……+10s=0for x in range(1,11,1)s=s+xprint(x)編程計算1*2*3……*10s=1for x in range(1,11,1)s=s*xprint(x)思考一下:用編程計算下列問題1、1+2+3+4……+1002、1*2*3*……*1003、2+4+6+8+……1004、1+3+5+7+9……+100while循環格式:while <條件>:<循環體>只要…條件成立,就一直執行循環體i =1while i<5:print(“中國”)i =i + 1注釋#注釋內容"""注釋內容"""#注釋內容1#注釋內容2'''注釋內容'''課堂練習1、以下Python的注釋代碼,錯誤的是( )A. //Python 注釋代碼B.#Python注釋代碼1 #Python注釋代碼2C."""Pythonh 文檔注釋"""D. #Python注釋代碼A課堂練習2、在Python中,下列程序運行后會看到( )“*”for x in range(0,10,5):print(“*”,end=“ ”)A.2個 B.10個 C.5個 D.15個A課堂練習3、在Python中,在下列程序執行后,最后一行顯示的數字是( )for mi in range(2,100,50):print(mi)A.2 B.52 C.150 D.102B課堂練習4、在Python中,下列程序運行后會看到( )個“*”for x in range(0,3):for y in range(0,4):print(“*”,end=“ ”)A.7個 B.9個C.6個 D.12個D課堂練習5、python的表達式s+=1與下列( )表達式效果相同A.1+S=S C.S=S+1B.S+1=S D.S=+1C課堂練習6、在Python中,下列程序運行后會看到( )個“你好”S=0while S<10:S=S+2print(“你好”)A.2個 B.1個 C.3個 D.5個D課堂練習7、在Python中,下列程序運行后會看到( )個“中國加油”。S=0while S<10:S=S+2print(“中國加油”)A.1個 B.5個 C.9個 D.10個A課堂練習8、在Python中, 下列程序運行后會看到最后一行顯示的是( )。for sg in ["蘋果","梨”,"香蕉",“獼猴桃"]:print(sg)A.0 B.香蕉C. 3 D.獼猴桃D課堂練習9、運行下列python程序后輸出的結果是( )sum=1for i in range(1,5):sum=sum*iprint(sum,i)A.1 5 B. 5 1 C. 24 4 D. 24 5C10、關于下列Python代碼,說法正確( )1 fruits=[‘apple’,’banana’,’pear’]2 print(‘Apple’ in fruits)A.變量fruits的數據類型是元組B.變量fruits中有三個元素,len(fruits)運算結果為3C.fruits[3]的元素是‘pear’D.上述Python代碼運行結果是tureBBMI數值范圍 BMI等級16.4以上23.2以下(包含23.2) 正常16.4以下(包含16.4) 低體重23.2以上26.3以下(包含26.3) 超重26.3以上 肥胖11. BMI (體重指數)是國際上常用的衡量健康程度的一個重要標準,其計算方法是:體重(單位:kg)除以身高(單位:m)的平方。高一男生BMI數值對應的等級,如下表所示,張老師根據該表,編寫了Python程序實現:輸入身高和體重,計算BMI 的值并判斷BMI等級。程序代碼如下所示,請完善程序。1 #計算BMI的值并判斷BMI等級2 height=float(input('請輸入你的身高(單位:m)'))3 weight=float(input('請輸入你的體重(單位:kg)'))4 BMI= ______________________5 BMI=round(BMI , 1) # BM變量的數值保留1位小數6 print('你的體重指數是', BMI)7 if__________________________:8 print('BMI等級:低體重')9 elif BMI<=23.2:10 print('BMI等級:正常')11 elif BMI<=26.3:12 print('BMI等級:超重')13 else:14 print('BMI等級:肥胖')(1)程序第3行中float函數的功能是___________________________________(2)程序中第4行下劃線處應填入_______________________________________(3)程序中第7行下劃線處應填入_______________________________________將輸入的數轉化為小數Weight/height**2BMI<=16.4:12.百錢買百雞問題百錢買百雞問題記載與中國古代5-6世紀成書的《張丘建算經》中的一道經典不定方程組問題,其重要之處在于開創“一問多答”的先例,這是過去中國古算書中所沒有的。其問題是這樣的:今有雞翁一,值錢五,雞母一,值錢三,雞雛三,值錢一,凡百錢買百雞百只,問雞翁、雞母、雞雛皆有,各幾何。小亞利用循環結構進行問題求解,其中設公雞。母雞和小雞的數量分別是x、y 、z同時符合如下兩個條件:x+y+z=100和5x+3y+z/3=100,則問題有解,程序如下:for x in range(1,21):for y in range(1,34):for z in range(1,101):if x+y+z=100 and 5*x+3*y+z/3=100:print("公雞",x,"母雞",y,"小雞",z)(1)該程序使用的算法是___________________(2)程序運行結束,第4行if語句一共執行了___________次枚舉法20*33*100常見算法枚舉法解析法遞歸法分治法小敏看到小亞的程序后,覺得可以修改部分代碼,修改后的代碼如下所示:for x in range(1,21):for y in range(1,34):z=100-x-yif 5*x+3*y+z/3=100:print("公雞",x,"母雞",y,"小雞",z)(3)小敏的程序在運行結束后。第4行的if語句一共執行了________次。小敏的代碼________(A.提高了 B.沒有提高 C.降低了)程序的執行效率。20*33AThanks 展開更多...... 收起↑ 資源預覽 縮略圖、資源來源于二一教育資源庫