Мне был задан следующий домашний вопрос:
Напишите функцию, которая будет принимать строку в качестве входных данных и возвращать количество гласных в этой строке в качестве выходных данных
• Имяфункция get_vowel_count
• Обязательно документируйте, что функция делает, используя комментарии в R
Но когда я передаю функции заданную строку, она выдает 0 гласных в консоли, когда четкогласные в строке, которую я даю (например, «Джон Доу» содержит три гласных)
Я немного изменил выражение if
, чтобы улучшить учет гласных, но я думаю, что программа будет считать только в том случае, если строкаэто точно "a", "e", "i" и т. д.
Я не уверен, какой синтаксис существует, чтобы сказать "содержит", а не "равен"
mystr <- "John Doe"
get_vowel_count <- function(phrase) {
counter <- 0
for (i in phrase) {
if ((i == 'a') | (i == 'e') | (i == 'i') | (i == 'o') | (i == 'u')) {
counter <- counter + 1
}
}
output <- paste("Your phrase has", counter, "vowels in it!" )
print(output)
}
get_vowel_count(mystr)
В выводе отображается 0 гласных, где ожидаемый должен сказать: «Ваша фраза содержит 3 гласных!»