如何捅破python編程的那層紙

 一些朋友自學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培訓黃哥所寫,轉載,請註明來源。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章