資源簡(jiǎn)介 第三章 算法的程序?qū)崿F(xiàn)用計(jì)算機(jī)編程解決問(wèn)題的一般過(guò)程:抽象與建模---設(shè)計(jì)算法----編程程序----調(diào)試運(yùn)行程序。一、數(shù)據(jù)類(lèi)型1、字符型:string,簡(jiǎn)寫(xiě)為:str,包括漢字、字符、字符串以及標(biāo)點(diǎn)符號(hào)。使用的時(shí)候用“”或者’’或者’’’ ’’’括住。(注引號(hào)都是英文狀態(tài))2、整型:interger,簡(jiǎn)寫(xiě)為:int,包括正整數(shù),零,負(fù)整數(shù)。3、實(shí)型:float,主要指的就是小數(shù)。二、運(yùn)算符、常用函數(shù)、表達(dá)式1、算術(shù)運(yùn)算符基本運(yùn)算 運(yùn)算符 優(yōu)先級(jí) 示例指數(shù)次冪 ** 1 2**8表示28乘 * 2 a*b表示a乘以b除 / 2 5.2/2計(jì)算結(jié)果為2.6整除 // 2 5//2計(jì)算結(jié)果為2求余 % 2 17 % 3計(jì)算結(jié)果為2加 + 3 a+b表示a加b的和減 - 3 a-b表示a減去b的差2、關(guān)系運(yùn)算符關(guān)系運(yùn)算 運(yùn)算符 優(yōu)先級(jí) 示例大于 > 4 100>99結(jié)果為T(mén)rue小于 < 4 1.2<-23結(jié)果為False大于等于 >= 4 Sin(1)>=0結(jié)果為T(mén)rue小于等于 <= 4 Sqr(3)<=0結(jié)果為False等于 == 4 12==13結(jié)果為False不等于 != 4 12!=13結(jié)果為T(mén)ruein x in y 5 “5”in’2’結(jié)果為False3、邏輯運(yùn)算符關(guān)系運(yùn)算 運(yùn)算符 優(yōu)先級(jí) 示例非(求反) not 6 not(12>13)結(jié)果為T(mén)rue與(并且) and 7 (23>10) and (30<23)結(jié)果為False或(或者) or 8 (23>10) or (30<23)結(jié)果為T(mén)rue4、運(yùn)算符的執(zhí)行順序:算術(shù)運(yùn)算符 > 關(guān)系運(yùn)算符 > 邏輯運(yùn)算符5、當(dāng)一個(gè)表達(dá)式中同時(shí)出現(xiàn)多種運(yùn)算符時(shí),運(yùn)算次序由運(yùn)算符的優(yōu)先級(jí)決定,優(yōu)先級(jí)高的運(yùn)算符先運(yùn)算,優(yōu)先級(jí)相同的從左向右進(jìn)行運(yùn)算。優(yōu)先程序最高級(jí)別為1,級(jí)別數(shù)字越大,優(yōu)先級(jí)越低。三、變量與賦值運(yùn)算1、變量:在程序執(zhí)行過(guò)程中,有些數(shù)據(jù)是未知可變的,我們使用變量來(lái)存儲(chǔ)。2、變量命名要點(diǎn):①只能由字母、數(shù)字或下劃線組成。②不能以數(shù)字開(kāi)頭。③區(qū)分字母大小寫(xiě)。如HELLO和Hello不是同一個(gè)變量。④不能以保留字作變量名,如if、For、while等。3、變量的賦值: 變量名 = 表達(dá)式或值Number=0Number=Number+1Number+=1 等價(jià)于 Number=Number+1四、基本數(shù)據(jù)結(jié)構(gòu)1、字符串和列表索引 0 1 2 3 4 5字符串 p y t h o n索引 -6 -5 -4 -3 -2 -1字符串是由0個(gè)或多個(gè)字符串組成的序列列表也是由0個(gè)或多個(gè)元素組成的序列,但是元素可以是數(shù)字,字符串等混合類(lèi)型的數(shù)據(jù)。甚至是其他的列表。列表用方括號(hào)”[]”來(lái)表示,元素之間以逗號(hào),分隔。字符串,列表中的元素都是都是通過(guò)索引來(lái)定位的。若訪問(wèn)的不是單個(gè)元素,而是一定范圍內(nèi)的多個(gè)元素,可以通過(guò)冒號(hào):間隔的兩個(gè)索引參數(shù)來(lái)實(shí)現(xiàn)。對(duì)象名[start:end:step],其中end取不到,step默認(rèn)為1。例:s1=”123”,s2=”456”s1+s2 結(jié)果:”123456” s1*2 結(jié)果:”123123”list1=[1,3,5] list2=[2,4,6]list1+list2 結(jié)果:[1,3,5,2,4,6] List1*2 結(jié)果:[1,3,5,1,3,5]2、字典:字典中每個(gè)元素包含兩個(gè)部分內(nèi)容:鍵和值。鍵通常用字符串或數(shù)值來(lái)表示,值可以是任意類(lèi)型的數(shù)據(jù)。鍵和值兩者一一對(duì)應(yīng),且每個(gè)鍵只能對(duì)應(yīng)一個(gè)值。例如:dict1={“a”:12,“b”:13} dict1[“a”] 結(jié)果:12五、順序結(jié)構(gòu)的實(shí)現(xiàn)1、Python常見(jiàn)的內(nèi)聯(lián)函數(shù)input()函數(shù)實(shí)現(xiàn)了用戶和計(jì)算機(jī)程序的交互輸入,返回值為字符串型,參數(shù)為提示信息prompt,由用戶輸入內(nèi)容。print()輸出函數(shù)int() 將字符串和數(shù)字轉(zhuǎn)換成整型float() 將字符串和數(shù)字轉(zhuǎn)換成實(shí)型abs() 返回絕對(duì)值 len() 返回序列的長(zhǎng)度help() 提供交互式幫助ord() 字符轉(zhuǎn)為對(duì)應(yīng)的ASCII碼(十進(jìn)制) chr()ASCII碼轉(zhuǎn)為對(duì)應(yīng)的字符round(x,y) 對(duì)x進(jìn)行四舍五入保留y位小數(shù)max() 返回序列的最大值 min() 返回序列的最小值六、分支語(yǔ)句1、雙分支:if <條件>:<語(yǔ)句A>else:<語(yǔ)句B>2、多分支結(jié)構(gòu)if <條件1>:<語(yǔ)句A>elif <條件2>:<語(yǔ)句B>elif <條件3>:<語(yǔ)句C>.....else:<語(yǔ)句x>七、循環(huán)語(yǔ)句1、for循環(huán)for語(yǔ)句的格式:for <變量> in <序列>: <循環(huán)體>for語(yǔ)句通過(guò)遍歷序列中的元素實(shí)現(xiàn)循環(huán),并通過(guò)序列的元素?cái)?shù)量來(lái)控制循環(huán)次數(shù),即循環(huán)過(guò)程,序列中的每個(gè)元素都會(huì)依次被賦值給變量,并分別執(zhí)行一次循環(huán)體。range() 函數(shù)可創(chuàng)建一個(gè)整數(shù)列表,一般用在 for 循環(huán)中。使用方式: range(start, stop[, step])start: 計(jì)數(shù)從 start 開(kāi)始。默認(rèn)是從 0 開(kāi)始。range(4) 相當(dāng)于 range(0,4)stop: 計(jì)數(shù)到 stop 結(jié)束,不包括 stop。range(0,4) 表達(dá) [0, 1, 2, 3]step:步長(zhǎng),默認(rèn)為1。range(0,3) 相當(dāng)于 range(0, 3, 1)2、while循環(huán)語(yǔ)句的格式:while 條件: <循環(huán)體>while循環(huán)在執(zhí)行時(shí),首先會(huì)判斷條件是否為真,如果條件為真,執(zhí)行一次循環(huán)體,在此判斷條件是否為真,如果仍為真,那么再執(zhí)行一次循環(huán)體,以此類(lèi)推,直到條件為假時(shí)退出while語(yǔ)句。八、函數(shù)與模塊1、在用算法解決問(wèn)題的過(guò)程中,經(jīng)常采用模塊化程序設(shè)計(jì)思想,將問(wèn)題分解成若干個(gè)子問(wèn)題,并用相對(duì)獨(dú)立的程序段來(lái)針對(duì)性的解決各個(gè)子問(wèn)題,提高程序設(shè)計(jì)的效率。對(duì)于常用的程序代碼,以模塊化的形式進(jìn)行保存,需要時(shí)可重復(fù)調(diào)用。2、定義函數(shù)的語(yǔ)法規(guī)則如下:def 函數(shù)名(參數(shù)集合):<函數(shù)體>[return 函數(shù)值]3、調(diào)用函數(shù)語(yǔ)法:函數(shù)名(實(shí)參)4、模塊的導(dǎo)入有兩種方法:方法一:import mathmath.sqrt(9)方法二:from math import sqrtsqrt(9)math模塊名稱(chēng) 含義math.e 自然常數(shù)emath.pi 圓周率pimath.ceil(x) 對(duì)X向上取整,比如x=1.2,返回2math.floor(x) 對(duì)X向下取整,比如x=1.2,返回1math.pow(x, y) 指數(shù)運(yùn)算,得到x的y次方,返回結(jié)果為實(shí)型 內(nèi)建函數(shù)pow(x,y)返回結(jié)果為整型math.log(x) 對(duì)數(shù)運(yùn)算,默認(rèn)基數(shù)為emath.sin(x) 返回x(弧度)的三角正弦值math.cos(x) 返回x(弧度)的三角余弦值math.tan(x) 返回x(弧度)的三角正切值math.degrees(x) 弧度轉(zhuǎn)成角度math.radians(x) 角度轉(zhuǎn)成弧度random模塊名稱(chēng) 含義random.random() 隨機(jī)生成一個(gè)[0,1)范圍內(nèi)的實(shí)數(shù)random.uniform(a,b) 隨機(jī)生成一個(gè)[a,b]范圍內(nèi)的實(shí)數(shù)random.randint(a,b) 隨機(jī)生成一個(gè)[a,b]范圍內(nèi)的整數(shù)random.choice(seq) 從序列的元素中挑選一個(gè)元素 如random.choice(range(10)),從0到9中隨機(jī)挑選一個(gè)整數(shù)random.sample(seq,k) 從序列中隨機(jī)挑選k個(gè)元素random.shuffle(seq) 將序列的所有元素隨機(jī)排序九、解析和枚舉算法的應(yīng)用1、解析算法的基本思想是指根據(jù)問(wèn)題的前提條件與所求結(jié)果之間的關(guān)系,找出求解問(wèn)題的數(shù)學(xué)表達(dá)式,并通過(guò)表達(dá)式的計(jì)算來(lái)實(shí)現(xiàn)問(wèn)題的求解。2、枚舉算法的基本思想是把問(wèn)題所有的可能的解一一列舉(循環(huán)結(jié)構(gòu)),然后判斷每一個(gè)列舉的可能解是否為正確解(選擇結(jié)構(gòu))。 展開(kāi)更多...... 收起↑ 資源預(yù)覽 縮略圖、資源來(lái)源于二一教育資源庫(kù)