students =['Jack','Rose','Tom','Kite']print(students)objects =['English','Chinese','Geography','History']print(objects)reports =[99.99,89.23,60.00,78.33]print(reports)movies =['Iron Man',2008,'Jon Favreau',' Robert Downey Jr., Gwyneth Paltrow, Terrence Howard ',7.9]print(movies) 像上面這樣的一組數據就組成了一個列表,我們可以稱其為 數組。列表是有序的,既然有序的數據,那麼必定是有 索引 的存在(標明列表中的某一個元素的位置)。索引 從 0 開始計數,依次往後推。我們可以通過 索引 來訪問(查看)列表中的單個數據。(python還有個神奇的操作,那就是索引可以為負數,即倒著查看)我們來看幾個簡單的例子:
English
Chinese
Geography
Historyobjects =['English','Chinese','Geography','History']print(objects[1])print(objects[-2])print(objects[0:3])print(objects[0:-3])相信不細心的朋友已經由於objects少寫一個s報錯了吧。python以及其他程式語言的變量名除了數字、字母、下劃線之外,還不允許出現 關鍵字。這裡的關鍵字指的是語言本身定義的關鍵字,比如int、long、if之類的。詳情可自行百度python關鍵字 是不是很神奇?不知道大家有沒有發現,列表 中的數據都是我們變量數據類型中的基本類型。那麼我們不妨再仔細想一下,列表中是否可以再嵌套列表呢?答案是:完全可以。某幾列數據 列表其實是有維度的,剛才提到的是一維的列表(行話裡其實更習慣叫它 數組)。如果是列表嵌套一層列表就是 二維 的列表,依次類推,列表嵌套列表再嵌套列表就是 三維 的列表。像這樣無限地嵌套下去,就變成了 N維 列表。ironMan =['Iron Man',2008,'Jon Favreau',' Robert Downey Jr., Gwyneth Paltrow, Terrence Howard ',7.9]print(ironMan)superHeros =[['Iron Man',2008,'Jon Favreau',' Robert Downey Jr., Gwyneth Paltrow, Terrence Howard ',7.9],['Super Man',1987,'Richard Donner','Christopher Reeve, Margot Kidder, Gene Hackman',7.3]]print(superHeros)movies =[superHeros, ironMan]print(movies)同理,N維數組的索引也是從0開始。且每個緯度都是從0開始,我們來看一個例子。
# 超級英雄電影superHeros =[['Iron Man',2008,'Jon Favreau',' Robert Downey Jr., Gwyneth Paltrow, Terrence Howard ',7.9],['Super Man',1987,'Richard Donner','Christopher Reeve, Margot Kidder, Gene Hackman',7.3]]# 鋼鐵俠print(superHeros[0])# 超人的上映日期print(superHeros[1][1])# 如果要訪問N維數組:movies[n][n][n]...[n]如果要訪問三維數組則會有三個 [n],N維數組則有N個 [n],表示獲取第N維的某個內容。
開始複讀機模式 每次只訪問其中的某一條數據只能適應一部分場景,大多數情況下我們會訪問所有的數據,用於進行計算。這時候就該我們的 循環語句for 出場了。chinese =[99.99,89.23,60.00,78.33]count =0for score in chinese: count = count + scoreprint(count/len(chinese))math =[91.92,88.88,82.10,62.33]english =[72.23,82.12,62.42,98.87]reports =[chinese, math, english]count =0for subject in reports:for score in subject: count = count + scoreprint(count/(len(chinese)+len(math)+len(reports))) 就像 條件語句if 一樣,循環語句for 也是可以多層嵌套的。當然,嵌套的層數決定於你數據的深度或你要執行的次數,每一層執行 N 次,那麼 M 層嵌套就執行 N^M 次。默契度測試 測試我們默契度的時候到了,不知道大家上一節的題目做的怎麼樣,接下來結合本節內容,我們來實現一下默契度測試程序吧。questions =[['Do I like fruit?',0],['Do I like cat?',0],['Do I like vegetables?',1],['Do I like shopping?',0],['Do I like to watch anime?',1],['Do I like dog?',1]]print('Please answer these questions(1:yes,0:no)')result =0for question in questions: print(question[0]) temporary = int(input('Please input your answer:')) print() if temporary == question[1]: result = result +1 else: result = result -1print('Our tacit understanding is '+str(result))if result >= len(questions)/2: print('We are the best friends.')elif(result < len(questions)/2)and(result >0): print('We are friends')else: print('Emmmm...who are you?') 將上面代碼複製到 [https://code.y444.cn/python] 運行,你就可以進行默契度測試了(別忘了在輸入提前輸入好內容哦~)。複讀機與聖誕樹 課後作業:馬上就到 聖誕節 了,學了這麼久的python,讓我們來用本章和之前所學到的知識畫一顆簡單的聖誕樹吧。解題思路:最簡單的聖誕樹就是一個 等腰三角形 和一個 | 組成,可以用 * 來當作聖誕樹的葉子,print()列印出來葉子組成一個等腰三角形,然後在列印出一個樹根。總結 至此,我們已經學完了程式語言中最最最最基礎的知識點(在程序不複雜的年代,這些內容已經夠用了): 變量、條件語句、循環語句。接下來的課程我們會學習一些更 「高端大氣上檔次」 的內容,其中會穿插 人工智慧、爬蟲 等前沿知識點。