2016-05-16 60 views
0

以「pizza」(只比薩餅)結尾的發生單詞的計數和顯示次數所以我想能夠打印輸出次數: 例如,如果我在我的文本文件中有以下內容:使用輸入文本

cheeesepizza

chickenpizza

pepornisub

pizzaaregood

我希望能夠打印「有2個披薩。」 ...這是我到目前爲止

f = open(file_name) 
total = 0 
for line in f: 
    if "pizza" in line: 
     total += 1 
f.close() 
print total 

回答

1

您需要檢查「pizza」是否在行尾。 in運算符檢查是否有東西出現在列表或字符串中的任何地方,而不僅僅是結尾。

我們可以通過str上的endswith綁定方法來檢查一個字符串是否以某種方式結束。更改if聲明如下:

if line.endswith("pizza"): 

全碼:

f = open(file_name) 
total = 0 
for line in f: 
    if line.endswith("pizza"): 
     total += 1 
f.close() 
print total 

如果你想要一個更Python的方式做你想要達到的,使用列表理解和計數的項目,像這樣:

f = open(file_name) 
total = len([line for line in f if line.endswith("pizza")]) 
f.close() 
print total 
+0

你能幫我一個完整的代碼,將工作嗎?請快樂! –

+0

@JohnPro我已經添加了一些完整的代碼。 –

+1

我從來沒有理解那些想要「完整代碼」的人...這表明這顯然是一個班級任務(並且表明你沒有實際學習如何自己解決問題的願望)......現在你沒有該課程旨在教授的必備知識......測試中的好運......以及後來真正的面試中的好運 –