一些朋友自學python過程中,發現書也能看懂,書上的玩具代碼也能看懂,但爲啥自己不能做習題,不能寫代碼解決問題,自己不能動手寫代碼? 原因是初學者沒有學會計算思維、解決問題的方法、編程思路。 編程思路的養成需要一個過程的,在編碼過程中思考,多動手敲代碼。 有時候,想不明白的地方,有人稍微點破一下,那層紙就很容易破。 請看下面的例子。
編程思路一:
經常有人問,一個文本文件,要抽取多少行以後的文本。 相信記數循環,大家都看得懂,也會寫。下面的代碼就是利用記數循環來解決這個問題。 代碼一: 一個幾M的文本文件,需要每隔100行寫到新的文件中。 不要小看了計數循環,用計數循環和判斷語句就可以解決這個問題。 # coding:utf-8 """ 迪艾姆python遠程視頻培訓 諮詢:qq:1465376564 """ with open('dist_1.txt','r') as f1 ,open('dist_new.txt','w') as f2: i = 0 for line in f1: i += 1 if i % 100 == 0: f2.write(line) 代碼二: 請問一個日誌文本文件有2000行,我要提取其中的100行到200行,怎麼做? 你可以試試下面的方法。 別小看while計數循環,其實它可以用來幹很多事。 #coding:utf-8 i = 0 file1 = open("test.txt","r") file2 = open("out.txt","w") while True: line = file1.readline() i += 1 if 100<=i and i<=200: file2.write(line) if i >200 : break if not line: break file1.close() file2.close()
編程思路二:
#coding:utf-8 """ 本代碼由迪艾姆公司黃老師所寫,思路大家自己看代碼。 抓了a,b,c,d4名犯罪嫌疑人.其中有一名是小偷,審訊中: a說我不是小偷 b說c是小偷 c說小偷肯定是d d說c胡說! 其中有3個人說的是實話,一個人說的是假話,編程推斷誰是小偷。 (用窮舉法和邏輯表達式) """ for xiaotu in ['a','b','c','d']: sum = (xiaotu != 'a') + (xiaotu == 'c') + (xiaotu == 'd') + (xiaotu !='d') if sum == 3: print "小偷是:%s " % xiaotu
總結: 學習python編程,先學會過程式編程,再過度到面向對象的編程範式。 學會函數抽象、類抽象。一步一步養成計算思維、學會解決問題的方法、編程思路。 這個需要一個過程,也不要操之過急。 看一下這些視頻,可能對你有些幫助。
本文由python培訓黃哥所寫,轉載,請註明來源。