【伯俊】1157 Python(単語学習)



コード#コード#


1.私のコード


alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
words = input().upper()

list = []
for i in alphabet:
    count = 0
    for j in words:
        if i==j:
            count += 1
    list.append(count)

if list.count(max(list)) > 1:
    print('?')
    
else:
    index = list.index(max(list))
    print(alphabet[index])
        

<解答>

alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
words = input().upper()
まずアルファベットの大文字をアルファベット表に入れます.
大文字が出力されるのでupper()を使用して単語を大文字に変換します.
aからzを例にとると、ドアを回します.
countは0に初期化されます.
単語に対応するアルファベットがある場合、countは+1になります.
countをリストに入れます.
リストの最値が2つを超えると、「?」出力します.
リストの最値が1の場合、リストの最値インデックス出力を求めることで最も多くのアルファベットが使用されます.

2.他人コード(set使用)

words = input().upper()
unique_words = list(set(words))
count_list = []

for i in unique_words:
    count = words.count(i)
    count_list.append(count)

if count_list.count(max(count_list)) > 1:
    print('?')
else:
    index = count_list.index(max(count_list))
    print(unique_words[index])

<解答>


upper()を使用して、入力した単語を大文字に変換します.
unique_words = list(set(words))
set()で重複を解消し、unique wordsに入れます.
for i in unique_words:
    count = words.count(i)
    count_list.append(count)
Unique wordsのアルファベットのインデックスを取得しcount listに挿入します.
if count_list.count(max(count_list)) > 1:
    print('?')
    
最も多く使われているアルファベット数が2以上なら「?」しゅつりょく
else:
    index = count_list.index(max(count_list))
    print(unique_words[index])
1つであればcount listの最値のインデックスを求めます.
最も一般的なアルファベットを出力します.