python
スクリプトを作成して、各文字がテキストファイルから出現する回数を数えます。だから、テキストファイルはHi there
が含まれている場合、出力はテキストファイルに文字が表示される回数を数えます。
E is shown 2 times
H is shown 2 times
I is shown 1 time
R is shown 1 time
T is shown 1 time
ようなものになるだろう、私はこれを取得するさまざまな方法を試してみたが、私は構文エラーを得ることに運ぶように私には何も出力が示されていないされています。私はあなたがパラメータ名として、EXAMPLE.SQLていないことができ、あなたの関数には、次の
import collections
import string
def count_letters(example.txt, case_sensitive=False):
with open(example.txt, 'r') as f:
original_text = f.read()
if case_sensitive:
alphabet = string.ascii_letters
text = original_text
else:
alphabet = string.ascii_lowercase
text = original_text.lower()
alphabet_set = set(alphabet)
counts = collections.Counter(c for c in text if c in alphabet_set)
for letter in alphabet:
print(letter, counts[letter])
print("total:", sum(counts.values()))
return counts
そして
def count_letters(example.txt, case_sensitive=False):
alphabet = "abcdefghijlkmnopqrstuvxyzABCDEFGHIJKLMNOPQRSTUVXYZ"
with open(example.txt, 'r') as f:
text = f.read()
if not case_sensitive:
alpahbet = alphabet[:26]
text = text.lower()
letter_count = {ltr: 0 for ltr in alphabet}
for char in text:
if char in alphabet:
letter_count[char] += 1
for key in sorted(letter_count):
print(key, letter_count[key])
print("total", sum(letter_count()))
**カウント**の割り当てに字下げの問題があると思います。 – vmonteco
@vmontecoどのスクリプトですか? – smitthy
表示される構文エラーは何ですか? –