第0關(guān) print()函數(shù)與變量-千與千尋的名字 課程目標 - 了解python:用途、組成
- 熟練使用函數(shù):print()
- 掌握換行的三種方法
- 了解變量的意義,熟練給變量賦值
- 認識轉(zhuǎn)義字符,了解轉(zhuǎn)義字符的使用方法
課程難點 - print()函數(shù)以及引號的使用
- 換行的兩種簡便方法
- 區(qū)分賦值與等于
課程重要內(nèi)容重現(xiàn) 一、最基本的一條代碼 1. print()函數(shù) print()函數(shù)由兩部分構(gòu)成: - 指令的執(zhí)行對象:在print后面的括號里的內(nèi)容
2. 引號的用法 單引號和雙引號都可以使用,但需要匹配,并且配合使用可以區(qū)分開原文和print()函數(shù)的結(jié)構(gòu)。例如,print(“Let’s go”),雙引號的作用是函數(shù)結(jié)構(gòu),單引號是英文語法。 不用引號時,括號內(nèi)必須是數(shù)字或者數(shù)字運算,這是計算機可以理解的內(nèi)容。例如:print(1 1),最后輸出是2。 注意:python中所有的符號都是英文狀態(tài)下的,并且會區(qū)分大小寫。 二、換行 - 重復使用print()函數(shù),將不同行的語句放在不同的函數(shù)中輸出。(事倍功半)
- 使用三引號:用三引號將需要分行的內(nèi)容括起來,并且在引號內(nèi)使用回車進行段落排版。例如:
print('''我愿意留在湯婆婆的澡堂里工作兩年, 第一年在鍋爐房和鍋爐爺爺一起燒鍋爐水, 第二年在澡堂給客人搓背, 如果我違背工作內(nèi)容的話, 將在這個世界變成一頭豬。''') - 使用\n,此時是不允許回車換行的!例如:
print('我愿意留在湯婆婆的澡堂里工作兩年,\n第一年在鍋爐房和鍋爐爺爺一起燒鍋爐水,\n第二年在澡堂給客人搓背,\n如果我違背工作內(nèi)容的話,\n將在這個世界變成一頭豬。') 三、轉(zhuǎn)義字符 對于可作為結(jié)構(gòu)性符號的,例如單引號,感嘆號,若想直接使用,可在符號前加一個反斜線\。則對于之前的例子:print(“Let’s go”),也可以寫作print(‘Let\’s go’),中間的單引號由于使用了反斜線,所以作為整條語句的內(nèi)容而不是print()函數(shù)的結(jié)構(gòu)。 四、變量與賦值 - 變量是我們自己創(chuàng)建的,命名要求:
- 只能是一個詞
- 只能包含字母、數(shù)字、下劃線(下劃線可以用于連接多詞)
- 不能以數(shù)字開頭
- 盡量描述包含的數(shù)據(jù)內(nèi)容(抽象概括存儲的內(nèi)容)
代碼中的=(等號)是用于賦值而邏輯上的等于要使用兩個等號,即1 1==2。 變量的特點:保存的數(shù)據(jù)是可以隨意變化的,儲存的值永遠都是最新的那個。例如: name='魔法少女千醬' name='夏目千千' name='千尋' print(name) 這段代碼輸出是結(jié)果是‘千尋’ ———————— 反饋: - 按照修改過的格式進行編寫
- 重點和難點進行區(qū)別
- 課程步驟不需要重現(xiàn),提取關(guān)鍵信息進行闡釋即可
第1關(guān) 數(shù)據(jù)類型與轉(zhuǎn)換-萌新的進化 課程目標 - 熟練掌握三種數(shù)據(jù)類型及其轉(zhuǎn)換
- 掌握數(shù)據(jù)拼接的方法
- 了解查詢數(shù)據(jù)類型的type()函數(shù)
課程難點 - 區(qū)分字符串下的數(shù)字與整數(shù)、浮點數(shù)下的數(shù)字
- 使用【 】進行數(shù)據(jù)拼接時,連接的數(shù)據(jù)類型必須為同數(shù)據(jù)類型
- 使用函數(shù)進行數(shù)據(jù)類型的轉(zhuǎn)換時,int()與float()函數(shù)括號內(nèi)的數(shù)據(jù)必須為純數(shù)字型文本
課程重要內(nèi)容重現(xiàn) 一、常見的三種數(shù)據(jù)類型 1、字符串 特點:被引號括起來的文本。(注意引號要使用英文狀態(tài)下的單引號或者雙引號、三引號) 例: slogan = '命運!不配做我的對手!' attack = '308' gold = '48g' blood = ''' 101''' achieve = 'First Blood!' 先將內(nèi)容以字符串形式賦值給變量,最后使用print()函數(shù)輸出變量即可。 2、整數(shù) 整數(shù)英文為integer,簡寫做int。是正整數(shù)、負整數(shù)和零的統(tǒng)稱,是沒有小數(shù)點的數(shù)字。 特點:無需配合引號使用,可進行計算。如:108(整數(shù))‘108’(字符串)‘6小靈童’(字符串)但若存在文字類數(shù)據(jù),則必須使用引號,將其變?yōu)樽址愋?。例?/p> print(6小靈童) print(6skr) #打印數(shù)據(jù)
SyntaxError: invalid syntax #終端顯示結(jié)果:報錯:無效語法 具體的計算符號:(優(yōu)先級與日常算數(shù)一致) 
3、浮點數(shù) 相對于整數(shù)而言,浮點數(shù)就是帶小數(shù)點的數(shù)字。英文名是float,與整數(shù)int()和字符串str()不同,浮點數(shù)沒有簡寫。 二、查詢數(shù)據(jù)類型——type()函數(shù) 作用:查詢數(shù)據(jù)類型 例:print(type('查詢內(nèi)容')) achieve = 'Penta Kill' print(type(achieve))
#結(jié)果顯示:<class 'str'> 三、數(shù)據(jù)拼接 利用數(shù)據(jù)拼接符號【 】,將需要拼接的變量連在一起。注意:變量內(nèi)的數(shù)據(jù)類型必須為字符串型才可進行拼接!如: hero = '亞瑟' enemy = '敵方' action = '團滅' gain = '獲得' achieve = 'ACE稱號' #結(jié)果顯示為 #亞瑟團滅敵方獲得ACE稱號
print(hero action enemy gain achieve) hero = '亞瑟' enemy = '敵方' action = '秒殺' gain = '獲得' number = 5 achieve = 'Penta Kill'
print(hero action number enemy gain achieve)
#結(jié)果顯示報錯:TypeError:can only concatenate str (not 'int') to str #類型錯誤:只能將字符串與字符串拼接 四、數(shù)據(jù)類型轉(zhuǎn)換 1、轉(zhuǎn)換為字符串類型 str()函數(shù)能將數(shù)據(jù)轉(zhuǎn)換成其字符串類型。只要將所需數(shù)據(jù)放到括號里,這個數(shù)據(jù)就能成為字符串類型。 用引號將數(shù)據(jù)括起來也能達到同樣結(jié)果。 例如: hero = '亞瑟' enemy = '敵方' action = '秒殺' gain = '獲得' number = 5 achieve = 'Penta Kill'
print(hero action str(number) enemy gain achieve) print(hero action '5' enemy gain achieve) #使用str()函數(shù)將變量number里的數(shù)字5變成了字符串5。 2、轉(zhuǎn)換為整數(shù) int()函數(shù)的使用,與str()類似。注意一點:只有符合整數(shù)規(guī)范的字符串類數(shù)據(jù),才能被int()強制轉(zhuǎn)換。 print(int('3.8'))
#運行后顯示結(jié)果:ValueError:invalid literal for int() with base 10: '3.8' 小數(shù)型字符串會直接報錯,而浮點數(shù)會被強制轉(zhuǎn)換: print(int(3.8))
#運行后結(jié)果顯示:3 也就是說,對于浮點數(shù),int()會保留其整數(shù)部分。注意:不是四舍五入! 3、轉(zhuǎn)換為浮點數(shù) float()函數(shù)的使用與int()、str()類似。如果括號里面的數(shù)據(jù)是字符串類型,那這個數(shù)據(jù)一定得是數(shù)字形式。 第2關(guān) 條件判斷與條件嵌套-滅霸的選擇 課程目標 - 熟練掌握if條件判斷語句,包括單向、雙向以及多向判斷。
- 熟悉語句間的級別關(guān)系,不同級別之間要有縮進
- 熟悉計算機執(zhí)行指令的順序,能看懂并得出代碼輸出結(jié)果以及寫出if嵌套語句
課程難點 - 邏輯判斷應使用邏輯符號等于【==】
- 條件語句后一定要記得接冒號【:】,注意觀察冒號之后的語句是否縮進以及同級別的語句是否在格式上處于并列狀態(tài)。
- 在執(zhí)行變量的判斷之前,要注意變量是否已經(jīng)被賦值
課程重要內(nèi)容重現(xiàn) 一、條件判斷 即中文邏輯語句“如果...就...”。在進行判斷之前,一定要先對變量進行賦值!條件判斷就是針對不同的可能性,進行不同操作。賦值情況的前提不滿足if的條件時,自動跳過,執(zhí)行下一行命令。 其次,每一個判斷語句之后要使用冒號【:】,表示接下來的內(nèi)容是只有滿足條件才運行的。若不是條件下的語句,要記得刪除縮進。 1、單向判斷 要是if之后的條件不滿足,就跳過if語句進行下一命令。格式: if xxx(判斷的條件): 如果滿足上述條件,就執(zhí)行的操作語句 2、雙相判斷 要是if之后的條件不滿足,就執(zhí)行else里的。if與else平級(縮進一致,在else前必須有一個平級的前提)。每一個條件不能有重合部分,是互斥的,格式: if xxx(判斷的條件): 如果滿足上述條件,就執(zhí)行的操作語句 else: 如果不滿足if之后的語句,就執(zhí)行的操作語句 weight=101 #要先為醬醬的體重賦值,醬醬的體重是101斤
if weight>100: #如果體重超過100斤的條件下,就……(條件后需加冒號) print('不吃了') #就打印結(jié)果:不吃了!(注意檢查是否自動縮進) else: #如果體重沒有超過100斤的條件,就……(else條件前無縮進,條件后需加冒號) print('放心吃吧') #就打?。悍判某园?注意檢查是否自動縮進) 3、多向判斷 if、elif和else平級。可以存在多個elif,數(shù)量根據(jù)整體能分成的所需選項數(shù)來定。注意:每一個條件不能有重合部分,是互斥的,即x<10與9<x<15,這樣的兩個條件是不可行的。如果不滿足if的條件,就判斷是否滿足elif下的條件,若所有elif的條件都不滿足,就執(zhí)行else下的語句。并且elif之后可以不接else,格式: if xxx(判斷的條件): 如果滿足上述條件,執(zhí)行的操作語句 elif xxx(與前一個if互斥的另一個條件): 如果滿足elif后的條件,就需要執(zhí)行的語句 else: 若if、elif后面的條件都不滿足,則會執(zhí)行的語句 stonenumber=1 #一定要先為寶石數(shù)量賦值
if stonenumber>=6: #注意冒號 #條件:如果你擁有的寶石數(shù)量大于等于6個 print('你擁有了毀滅宇宙的力量') #注意縮進 elif 3<stonenumber<=5: #條件:如果寶石數(shù)量在4至5個 print('紅女巫需要親手毀掉幻視額頭上的心靈寶石') else: #條件:當賦值不滿足if和elif條件時,執(zhí)行else下的命令,即寶石數(shù)量在3個以下 print('需要驚奇隊長逆轉(zhuǎn)未來') 二、if嵌套 在基礎條件滿足的情況下,再在基礎條件底下增加額外的條件判斷。在編寫if嵌套語句時,同樣的,可以按照框架,從大到小,依次往不同的大條件中補充額外條件。 historyscore=26 if historyscore>=60: print('你已經(jīng)及格') if historyscore>=80: print('你很優(yōu)秀') else: print('你只是一般般') else: print('不及格') if historyscore<30: print('學渣') else: print('還能搶救一下') print('程序結(jié)束') #結(jié)果顯示為 : #不及格 #學渣 #程序結(jié)束
每一個級別下的條件都只能執(zhí)行一個?。ɑコ猓〆lif與if類似。  第3關(guān) input()函數(shù)-霍格沃茨來信 課程目標 - 理解輸入函數(shù)input()的意義
- 熟練掌握input()函數(shù)返回的數(shù)據(jù)類型,以及結(jié)果賦值、數(shù)據(jù)類型轉(zhuǎn)換的方法
課程難點 - input()函數(shù)括號內(nèi)的內(nèi)容會被輸出,但需要輸入對應數(shù)據(jù)才能繼續(xù)執(zhí)行之后代碼
- input()函數(shù)的結(jié)果必須賦值給變量,且數(shù)據(jù)類型為字符串型
課程重要內(nèi)容重現(xiàn) input()函數(shù) 1、定義 input()函數(shù)是輸入函數(shù),與print()函數(shù)類似,input()函數(shù)括號里面的內(nèi)容是會顯示出來的,但不同在于我們需要輸入對應的內(nèi)容,回車后才能繼續(xù)運行。 2、input()函數(shù)賦值 在括號內(nèi)用引號括起提示語,例: input('請鏟屎官輸入寵物的名字:') #運用input函數(shù)搜集信息 輸入的內(nèi)容被儲存在計算機內(nèi),需要將結(jié)果賦值給變量。例: print('那么,您的選擇是什么?'1'接受,還是'2'放棄呢?') choice = input('請輸入您的選擇:') #變量賦值 if choice == '1': print('霍格沃茨歡迎你的到來') else: print('您可是被梅林選中的孩子,我們不接受這個選項。) 3、input()函數(shù)的數(shù)據(jù)類型 對于input()函數(shù)來說,不管輸入的是整數(shù)1234,還是字符串‘我愛摩卡’,input()函數(shù)的輸入值(搜集到的回答),永遠會被強制性地轉(zhuǎn)換為字符串類型。(Python3固定規(guī)則)所以,不管我們在終端區(qū)域輸入什么,input()函數(shù)的返回值一定是字符串,將結(jié)果賦值給變量后,變量的數(shù)據(jù)類型也一定是字符串。 4、input()函數(shù)的數(shù)據(jù)類型轉(zhuǎn)換 使用數(shù)據(jù)類型轉(zhuǎn)換函數(shù),int(),float()可以從源頭強制轉(zhuǎn)換為對應類型。但是要注意,此時的input()函數(shù)返回值一定要是純數(shù)字型!例: money = int(input('你一個月工資多少錢?')) #將輸入的工資數(shù)(字符串),強制轉(zhuǎn)換為整數(shù)
if money >= 10000: #當工資數(shù)(整數(shù))大于等于10000(整數(shù))時 print('土豪我們做朋友吧!') #打印if條件下的結(jié)果
else: #當工資數(shù)(整數(shù))小于等于10000(整數(shù))時 print('我負責賺錢養(yǎng)家,你負責貌美如花~') #打印else條件下 注:輸入值會運用到計算時,千萬記得用int()轉(zhuǎn)換! 第4關(guān) 列表和字典-收納的藝術(shù) 課程目標 - 熟練掌握列表、字典中元素的增刪改查
- 理解列表和字典的區(qū)別
課程難點 - 列表與字典增刪改查的異同
- 正確使用切片,深刻理解切片時冒號左右數(shù)字的意義
課程重要內(nèi)容重現(xiàn) 一、列表 - 代碼格式
students是列表名,數(shù)據(jù)存儲在中括號[]里,用逗號隔開并使用等號賦值給列表。中括號里面的每一個數(shù)據(jù)叫作“元素”。 列表中的元素是有自己明確的“位置”的,元素相同,在列表中排列順序不同,就是兩個不同的列表。 列表中字符串、整數(shù)、浮點數(shù)都可以存儲。 - 提取元素
1)、偏移量:元素在列表中的編號。 - 列表名后加帶偏移量的中括號,就能取到相應位置的元素。
2)、切片:用冒號來截取列表元素的操作。 - 冒號左邊空(或者為0), :m,表示從頭取m個元素;
- 右邊空(或者為0),n: ,跳過前n個元素把剩下的取完;
- 冒號左右都有數(shù)字時,n:m,表示跳過前n個元素,取到第m個。(取出前m個元素中除了前n個后剩下的那些)
切片截取了列表的一部分,所以得到的結(jié)果仍然是一個列表。(即使只有一個元素,也是在列表里的,與用偏移量取單個元素區(qū)別開) students = ['小明','小紅','小剛'] print(students[2]) #使用偏移量提取單一元素,結(jié)果顯示: #小剛 print(students[2:]) #使用切片,即使結(jié)果仍然只有一個元素,但顯示為列表: #['小剛'] 3)特別地,a,b,c=students,也可以提取出列表中的元素,變量分別用逗號隔開,且變量的數(shù)量與列表元素數(shù)一致,最終列表元素會分別賦值給變量,例如: appetizer = ['話梅花生','拍黃瓜','涼拌三絲'] a,b,c=appetizer
print(a) print(b) print(c) print(a,b,c) #結(jié)果顯示為 #話梅花生 #拍黃瓜 #涼拌三絲 #話梅花生 拍黃瓜 涼拌三絲 - 增加/刪除元素
1)增加元素 列表名.append()。注意這里是.不是空格! append后的括號里只能接受一個參數(shù),結(jié)果是讓列表末尾新增一個元素。列表長度可變,理論容量無限,所以支持任意的嵌套。 list3 = [1,2] list3.append(3) print(list3) #添加‘3’這個元素 #結(jié)果顯示: #[1,2,3]
list3.append(4,5) list3.append([4,5]) print(list3) #添加‘[4,5]’這個列表,也就是append()的參數(shù)為一個列表,也是一個參數(shù),所以不會報錯 #結(jié)果顯示: #[1,2,3,[4,5]] 但是append(4,5)會報錯,因為給了兩個元素(沒有作為一個整體,所以算兩個參數(shù))。注意!!千萬不能:a=student.append(3)。 2)刪除元素 del 列表名[元素的索引] 。注意這里是空格不是.了! 與append()函數(shù)類似,能刪除單個元素、多個元素(切片)、整個列表。 3)修改元素 使用偏移量修改對應位置的元素。 list1 = ['小明','小紅','小剛','小美'] list1[1] = '小藍' print(list1) #結(jié)果顯示 #['小明','小藍','小剛','小美'] 二、字典 - 代碼格式
- 列表中的元素是自成一體的,而字典的元素是由鍵值對構(gòu)成的,用英文冒號連接。有多少個鍵值對就有多少個元素。如'小明':95,其中我們把'小明'叫鍵(key),95叫值(value)。
所存儲的兩種數(shù)據(jù)若存在一一對應的情況,用字典儲存會更加方便。唯一的鍵和對應的值形成的整體,我們就叫做【鍵值對】。鍵具備唯一性,而值可重復。 字典中數(shù)據(jù)是隨機排列的,調(diào)動順序也不影響。所以列表有序,要用偏移量定位;字典無序,便通過唯一的鍵來取值。 (注:len()函數(shù)用于獲取數(shù)據(jù)長度) students = ['小明','小紅','小剛'] scores = {'小明':95,'小紅':90,'小剛':90} print(len(students)) print(len(scores)) #結(jié)果顯示 #3 #3 #字典的元素個數(shù),數(shù)冒號就行了 - 提取元素
字典沒有偏移量,所以在提取元素時,中括號中應該寫鍵的名稱,即字典名[字典的鍵]。提取出來的是key對應的value,而不會顯示鍵的數(shù)據(jù)! scores = {'小明': 95, '小紅': 90, '小剛': 90} print(scores['小明']) - 增加/刪除元素、
1)新增元素 字典名[鍵] = 值。每次只能新增一個鍵值對。scores['小剛','小美']=92,85,這樣是不對的,最終會輸出('小剛','小美':(92,85))作為一個鍵值對。 album = {'周杰倫':'七里香'} album['王力宏'] ='心中的日月' album['林俊杰'] = '小酒窩' print(album) print(album['周杰倫']) #結(jié)果顯示 #{'周杰倫':'七里香','王力宏':'心中的日月','林俊杰':'小酒窩'} #七里香 2)刪除元素 del 字典名[鍵] album = {'周杰倫':'七里香','王力宏':'心中的日月'} del album['周杰倫'] print(album) #結(jié)果顯示 #{'王力宏':'心中的日月'} 3)修改元素 如果不是整個鍵值對都不需要,只需要改變對應key下的value,修改就可以,不需要del。 dict1 = {'小明':'男'} dict1['小明'] = '女' print(dict1) #字典沒有偏移量,只能通過key找到元素位置 三、列表與字典的嵌套 - 列表與列表
列表中有兩個列表元素,[1]表示取第二個元素(列表),[2]表示取第二個元素中的第三個元素(偏移量為2)。 student=[['小紅','小黃','小橙'],['小綠','小藍','小紫','小青']] print(student[1][2]) #結(jié)果顯示為 #小紫 - 字典與字典
字典中存儲了兩個字典,所以提取數(shù)據(jù)時只能用key值。 scores={'第一組':{'小明':95,'小紅':96},'第二組'{'小剛':94',小青':99}} print(scores['第一組']['小紅']) #結(jié)果顯示: #96 - 列表與字典
使用偏移量從最外層括號到最內(nèi)層括號取數(shù)。查找townee列表中的第六個元素中的第2個元素(一定是字典,因為之后用的是鍵值而不是偏移量)中key為'反面角色'的value。 townee = [ {'海底王國':['小美人魚''海之王''小美人魚的祖母''五位姐姐'],'上層世界':['王子','鄰國公主']}, '丑小鴨','堅定的錫兵','睡美人','青蛙王子', [{'主角':'小紅帽','配角1':'外婆','配角2':'獵人'},{'反面角色':'狼'}] ] print(townee[5][1]['反面角色']) 
|