2016-05-16 61 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

我从来没有理解那些想要“完整代码”的人...这表明这显然是一个班级任务(并且表明你没有实际学习如何自己解决问题的愿望)......现在你没有该课程旨在教授的必备知识......测试中的好运......以及后来真正的面试中的好运 –