[問題] 有關for迴圈

看板Python作者 (殘雲奪月)時間17年前 (2007/08/08 22:02), 編輯推噓1(104)
留言5則, 2人參與, 最新討論串1/2 (看更多)
感覺起來這個問題很蠢 這是讀取榜單 然後計算該校多少人進這間大學的程式 不過我遇到一個問題 他for迴圈只會執行print string 這行 等迴圈執行完後才執行print 'ss' 為什麼會這樣呢? 我所學告訴我應該print string和print 'ss' 執行次數應該一樣 以下是程式碼 -------------------------------------------------------- #coding=big5 forCount={} ftr=open('abcd.txt') try: for string in[ftr.read()]: print string print 'ss' a=string.index('國') b=string.index('學')+3 string=string[a+1:b-a-1] print string+'x' if string in forCount: forCount[string]+=1 else: forCount.update({string:1}) except Exception: print "ERROR" finally: ftr.close() print forCountfor (key,value) in forCount.items(): print key+':'+str(value)raw_input() -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.116.129.56 ※ 編輯: ya790206 來自: 59.116.129.56 (08/08 22:03)

08/08 22:29, , 1F
我猜 [ftr.read()] 裡只有一個東西,也就是整個檔案內容
08/08 22:29, 1F

08/08 22:32, , 2F
因此 for 也只執行了一次
08/08 22:32, 2F

08/08 22:32, , 3F
你可能是要用 readline 之類的...
08/08 22:32, 3F

08/08 22:34, , 4F
readlines
08/08 22:34, 4F

08/08 23:07, , 5F
的確[ftr.read()] 裡只有一個東西,我搞錯用法了
08/08 23:07, 5F
文章代碼(AID): #16kSpblF (Python)
討論串 (同標題文章)
以下文章回應了本文
完整討論串 (本文為第 1 之 2 篇):
文章代碼(AID): #16kSpblF (Python)