我为以下任务编写了代码:
ограничение по времени на тест 2 секунды
ограничение по памяти на тест 256 мегабайт
Витя начал учить берляндский язык. Известно, что
в Берляндии используют латинский алфавит. Буквы
«a», «o», «u», «i» и «e» являются гласными.
Остальные буквы — согласные.
В берляндском языке после каждой согласной буквы
обязательно идёт гласная буква, а после гласной —
может идти любая. Единственным исключением является
согласная буква «n» — после неё может идти любая
буква (не только гласная), а может и не идти буква
вообще. Например, слова «harakiri», «yupie», «man»
и «nbo» являются берляндскими, а слова «horse»,
«king», «my» и «nz» — нет.
Помогите Вите понять, является ли слово s
берляндским.
Входные данные
Первая строка входных данных содержит строку s,
состоящую из |s|(1≤|s|≤100) строчных
латинских букв.
Выходные данные
Выведите «YES» (без кавычек), если идет гласная
после каждой согласной кроме «n», иначе выведите «NO».
Вы можете выводить каждую из букв в любом регистре
(строчную или заглавную).
Примеры
входные данные
sumimasen
выходные данные
YES
входные данные
ninja
выходные данные
YES
входные данные
codeforces
выходные данные
NO
Примечание
В первом и втором примерах после каждой согласной
кроме «n» идёт гласная, поэтому слово является
берляндским.
В третьем примере после согласной «r» идёт другая
согласная «c», а согласная «s» стоит в конце,
поэтому слово не является берляндским.
我为它写了代码:
def solve(s):
q=["a", "o", "u", "i", "e"]
for i in range(len(s)-1):
if (s[i] not in q) and (s[i]!="n") and (s[i+1] not in q):
return "NO"
return "YES"
s=input()
print(solve(s))
但是在检查系统(Codeforces)的几次测试中它给出了错误的答案,请帮我修复代码!
您错过了检查最后一个字母是元音还是“n”。这是更正后的版本:
检查了codeforces,一切正常
是的,您没有检查最后一个字母是否必须是元音
n