Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

ПОМОГИТЕ РЕШИТЬ ПОЖАЛУЙСТА БАЗОВЫЙ КУРС ИНФОРМАТКИ STEPIK СТРОКИ 10.8

Tima Petrov Ученик (95), открыт 2 часа назад
Строка состоит из латинских букв. Определить, каких букв в этой строке больше: гласных или согласных (гласными в латинском алфавите считаются буквы a, e, i, o, u, y). Если гласных больше, то вывести А, иначе вывести В. Если их одинаковое количество, то вывести =. Sample Input: Python is easy Sample Output: =



Сам написал такой код но он не подходит под все тесты:
def count_vowels_and_consonants(s):
vowels = "aeiouyAEIOUY"
vowel_count = 0
consonant_count = 0

for char in s.lower(): # Приводим к нижнему регистру для удобства
if char.isalpha(): # Проверяем, является ли символ буквой
if char in vowels:
vowel_count += 1
else:
consonant_count += 1

return vowel_count, consonant_count

def compare_vowels_and_consonants(s):
vowel_count, consonant_count = count_vowels_and_consonants(s)

if vowel_count > consonant_count:
return "А"
elif consonant_count > vowel_count:
return "В"
else:
return "="

# Пример использования
input_string = input()
result = compare_vowels_and_consonants(input_string)
print(result)
Дополнен 2 часа назад
def compare_vowels_consonants(s):
# Определяем гласные
vowels = set('aeiouy')
# Инициализируем счётчики
vowel_count = 0
consonant_count = 0

# Перебираем буквы в строке
for char in s.lower(): # Приводим буквы к нижнему регистру для сравнения
if char.isalpha(): # Проверяем, является ли символ буквой
if char in vowels:
vowel_count += 1
else:
consonant_count += 1

# Сравниваем количество гласных и согласных
if vowel_count > consonant_count:
return 'A'
elif consonant_count > vowel_count:
return 'B'
else:
return '='

# Пример использования
input_string = input("")
result = compare_vowels_consonants(input_string)
print(result)

ОТВЕТ
1 ответ
Андрей Высший разум (464670) 1 час назад
 t = 0  
for ch in input().lower():
if ch.isalpha(): t += [-1, 1][ch in 'aeiouy']
print({-1: 'B', 1: 'A', 0: '='}[(t > 0) - (t < 0)])
Два счётчика не требуются. Достаточно одного: встретили гласную - увеличиваем на 1, встретили согласную - уменьшаем на 1. И после цикла проверяем знак счётчика.
Похожие вопросы