7

Python を始めたばかりで、単語のグループを分析し、各文字がテキストに何回出現するかを返すプログラムを作成しています。つまり、「A:10、B:3、C:5...など」です。これまでのところ、コードを要約する方法を探していることを除いて、完全に機能しているため、プログラムの各部分を 26 回書き出す必要はありません。ここに私が意味するものがあります..

print("Enter text to be analyzed: ")
message = input()

A = 0
b = 0
c = 0
...etc

for letter in message:

    if letter == "a":
        a += 1
    if letter == "b":
        b += 1
    if letter == "c":
        c += 1
    ...etc

print("A:", a, "B:", b, "C:", c...etc)
4

2 に答える 2

12

Counter を使用できますが、@TimPeters はおそらく正しく、基本に固執することをお勧めします。

from collections import Counter

c = Counter([letter for letter in message if letter.isalpha()])
for k, v in sorted(c.items()):
    print('{0}: {1}'.format(k, v))
于 2013-09-14T03:20:02.380 に答える