2016-11-30 29 views
0

ファイルから読み込んで計算するプログラムを書いた。私は最後に追加する機能があります。それは、特定の単語がどれくらいの文が出現するかを数えなければなりません。 ここで、プログラム自体です:文章中の単語の出現を数える方法

# -*- coding: utf-8 -*- 

from sys import argv # importing argv module so we can specify file to read 

script, filename = argv # run program like this: python litvin.py filename.txt 

txt = open(filename) # open file 

text = txt.read() # get text from file 


def count_letters(file): 
    """ function that counts symbols in text without spaces """ 
    return len(file) - file.count(' ') 
print "\nКількість слів в тексті: %d" % count_letters(text) 

def count_sentences(file): 
    """ function that counts sentences through finding '.'(dots) 
      not quite cool but will work """ 
    return file.count('.') 
print "\nКількість речень в тексті: %d" % count_sentences(text) 

def longest_word(file): 
    """ function that finds the longest word in the text """ 
    return max(file.split(), key=len) 
print "\nНайдовше слово в тексті: '%s'" % longest_word(text) 

def shortest_word(file): 
    """ function that finds the longest word in the text """ 
    return min(file.split(), key=len) 
print "\nНайкоротше слово в тексті: '%s'" % shortest_word(text) 

def word_occurence(file): 
    """ function that finds how many times specific word occurs in text """ 
    return file.count("ноутбук") 
print "\nКількість разів 'ноутбук' зустрічається в тексті: %d" % 

word_occurence(text) 



print "\n\n\t\tЩоб завершити програму натисніть 'ENTER' " 
raw_input() 

答えて

0

私が最初に(ヒント:.の分割テキスト)リストとして、すべての文章になるだろうし、その後の文章をループし、特定の単語がであるかどうか確認してください。

+0

あなたが提案したようにテキストが分割され、今ではアイテム(文)のリストがあります。どのように各項目の特定の単語を探すために? 私は.countを試してみましたが、項目を見つけて何か探していないので機能しません。 –

+0

リストを繰り返して(forを使って)各文を取得できます。これが 'count()'を使う場所です。 – Fejs

関連する問題