これは私の課題です:
'!' までキーボードからテキストを読み取るプログラムを作成します。見つかった。
'A' から 'Z' までの文字で添字付けされた整数の配列を使用して、各文字の出現回数をカウントします (大文字か小文字かに関係なく)。別のカウンターで、「その他」の文字の総数も数えます。
見つかった各文字の数を出力します。また、非文字の数を出力します。
配列を調べて、母音の数と子音の数を出力します。
これは私のコードです:
msg = input("What is your message? ")
print ()
num_alpha = 26
int_array = [0] * num_alpha
vowel = [0] * 10000
consanant = [0] * 10000
for alpha in range(num_alpha):
int_array[alpha] = chr(alpha + 65)
if int_array[alpha] == 'A' or int_array[alpha] == 'E' or int_array[alpha] == 'I' or int_array[alpha] == 'O' or int_array[alpha] == 'U':
vowel[alpha] = int_array[alpha]
print(vowel[alpha])
else:
consanant[alpha] = int_array[alpha]
print()
lett = 0
otherch = 0
num_vowels = 0
num_consanants = 0
count_character = [0] * 100000
length = len(msg)
for character in msg.upper():
if character == "!":
otherch = otherch + 1
count_character[ord(character)] = count_character[ord(character)] + 1
break
elif character < "A" or character > "Z":
otherch = otherch + 1
count_character[ord(character)] = count_character[ord(character)] + 1
else:
lett = lett + 1
count_character[ord(character)] = count_character[ord(character)] + 1
if vowel[(alpha)] == (character):
num_vowels = num_vowels + 1
print(vowel[alpha])
else:
num_consanants = num_consanants + 1
print("Number of Letters =", lett)
print("Number of Other Characters = ", otherch)
print("Number of Vowels = ", num_vowels)
print("Number of Consanants = ", num_consanants)
for character in msg.upper():
print("Character", character, "appeared" , count_character[ord(character)] , "time(s).")
if character == "!":
break
文字列を入力するたびに、母音が認識されません。「あべ!」と入力したら 次のように出力されます。
Number of Letters = 3
Number of Other Characters = 1
Number of Vowels= 0
Number of Consanants = 3
Character A appeared 1 time(s).
Character B appeared 1 time(s).
Character E appeared 1 time(s).
Character ! appeared 1 time(s).