私はPythonスクリプトを書いています。私は "s、esまたはies"で終わる単語のテキストファイルを検索する必要があり、単語は3文字以上でなければならず、単語数とそれ自身を単語に変換する必要があります.....それは難しい作業です私はそれで動作しない、助けてくださいPythonスクリプトは単語のテキストファイルを検索します
答えて
私は基本的な作業をする必要があるコメントに同意します。ここにあなたを始めるためのいくつかのアイデアがあります。
1)「ファイルを検索する」と言います。ファイルを開き、次のように行ずつ読み:
with open ('myFile.txt', 'r') as infile:
for line in infile:
# do something to each line
2)あなたは、おそらくリストのように、データ構造内の各ラインを格納したい:
# before you open the file...
lines = []
# while handling the file:
lines.append(line)
3)あなたがする必要があります各単語で作業します。リストの「分割」機能を調べてください。
4)各単語の個々の文字を見る必要があります。 「文字列スライシング」を見てください。
これはすべて10行から15行のコードで行うことができます。
圧倒的に感じる場合は、タスクを別のタスクに分割してみてください。 次のコードは決して良いことではありませんが、その点を十分に理解できるほど十分に明確であることを願っています。
1まずテキストを取得する必要があります。あなたのテキストがコンピュータ上のファイルにある場合は、それをPythonが使用できるものに入れる必要があります。
# this code takes the content of "text.txt" and store it into my_text
with open("text.txt") as file:
my_text = file.read()
2これで、すべての単語を扱う必要があります。あなたの言葉はすべてmy_textという文字列にまとめられており、それらを個別にリストに分けて、個別に作業することができます。それはあなたがそれらを分離するために使用するものですので、通常の単語は、スペースで区切られています。
# take the text and split it into words
my_words = my_text.split(" ")
3私は正確に何をしたい知っているが、あなたは異なるリストで別々の単語を保存したいとしてはいけません。次に、これらのリストが必要になります:
# three list to store the words:
words_s = []
words_es = []
words_ies = []
4これで、単語を繰り返して、それらのものを処理する必要があります。一番簡単な方法は、forループを使用することであることのために:forループの外に、
#iterate through each word
for word in my_words:
# you're not interested in short words:
if len(word) <= 3:
continue # this means: do nothing with this word
# now, if the word's length is greater than 3, you classify it:
if word.endswith("ies"):
words_ies.append(word) # add it to the list
if word.endswith("es"):
words_es.append(word) # add it to the list
if word.endswith("s"):
words_s.append(word) # add it to the list
4最後に、あなたは、単語のリストを印刷しても、リストの長さを得ることができます。
print(words_s)
print(len(words_s))
を
単語を繰り返すかどうかを検討する必要があります。 「s」、「es」または「ies」で終わる条件の単語は、「s」で終わる単語と同等であることに注意してください。上記のコードは、異なるリストにある単語を重複して取得します。単語が "ies"で終わる場合、 "es"と "s"で終わるので、3つのリストに格納されます。重複を避けたい場合は、if文をelse if文で置き換えることができます。他の答えが示唆するとすぐに、このような恐ろしいコードを理解できるようになりますよう
は基本を学習してください:D
with open("text.txt") as myfile:
words = [word for word in myfile.read().split(" ") if word.endswith("s") and len(word) > 3]
print("There are {} words ending with 's' and longer than 3".format(len(words)))
- 1. テキストファイル内のPython単語検索
- 2. 単語のテキストファイルを検索する
- 3. テキストファイルから単語を検索
- 4. Pythonで単語を検索
- 5. テキストファイルで特定の単語を検索するには
- 6. テキストファイルのフレーズを検索し、C#で次の単語を読む
- 7. テキストファイル内の単語を検索し、その頻度を返します
- 8. C#テキストファイル特定の単語を検索し、その単語を含むテキストの全行を削除します
- 9. javaのテキストファイル内の単語を検索する
- 10. Python - テキストファイルの検索
- 11. Pythonテキストファイルの検索
- 12. XMLファイル内の単語のテキストファイルを検索して追加します
- 13. 単語検索用のPythonコードexcel
- 14. テキストファイルの単語に基づいてファイルを検索する
- 15. アセットフォルダからテキストファイル内の単語を検索するANDROID STUDIO
- 16. Fstreamがテキストファイルの単語を検索する
- 17. Pythonテキストファイルのユニークな単語
- 18. 複数のテキストファイルの単語のリストを検索
- 19. mIRCテキストファイル内の複数の単語を検索
- 20. Pythonを使用してテキストファイル内の用語を検索しています
- 21. Pythonはテキストファイルの特定の単語を編集します
- 22. テキストファイルのディレクトリ内の単語の検索と置換
- 23. テキストファイル内の単語の頻度を行単位で検索するC++
- 24. Jquery:divで単語を検索し、PHPスクリプトをロード
- 25. 単語を検索する
- 26. 単語検索アルゴリズム
- 27. 単語文書内の単語を検索するには
- 28. regx python 3.xで4単語以上の単語を検索する
- 29. 単語をAPIに検索
- 30. MongoDBテキスト検索と複数の単語を含む単語の検索
は、*それは私がそれに取り組むカントタスクは難しい* - その後、戻って学びます基本と**実際に**を学ぶ?あなたのためにそれをするように私たちに尋ねることはあなたが何かを学ぶのを助けません。 – Li357
再現可能な例がありますか?ファイルの行を繰り返し処理し、 'if'文を使用して、探しているものを返すようにしてください。 – Jakub
あなたのためにコードを書くことが望ましいようです。多くのユーザーは、苦労しているコーダーのコードを作成したいと考えていますが、通常、ポスターが既に問題を解決しようとしているときにのみ役立ちます。この努力を示す良い方法は、これまでに書いたコード、サンプル入力(もしあれば)、予想される出力、実際に得られる出力(コンソール出力、トレースバックなど)を含めることです。あなたが提供する詳細があれば、受け取る可能性のある回答が増えます。 [FAQ](http://stackoverflow.com/tour)と[How to Ask](http://stackoverflow.com/help/how-to-ask)を参照してください。 –