2015-09-19 2 views
-3

Я учусь на Python, и я застрял в этом.Напишите программу, которая занимает 3 символа, а затем

проблема: Напишите программу, которая принимает 3 символа, а затем подсчитывает количество согласных и гласных, как показано в следующем примере. Входные три символа:> г Н а число согласный 2. Число гласных 1

вот мой код, который я пытался

a,b,c = input("Input three characters:>").split() 
a = str(a) 
b = str(b) 
c = str(c) 
if a == 'a' or a == 'e' or a == 'i' or a == 'o' or a == 'u': 
    print("The number of consonants is 2. The number of vowels is 1.") 
    elif b == 'a' or b == 'e' or = b == 'i' or b == 'o' or b == 'u': 
     print("The number of consonants is 2. The number of vowels is 1.") 
     if c == 'a' or c == 'e' or = c == 'i' or c == 'o' or c == 'u': 
      print("The number of consonants is 2. The number of vowels is  1.") 

Но это слишком долго если я считаю, что гласные 2 или более. Как я могу упростить код для этого?

+1

не удаляйте код из Qu estion. – MattDMo

ответ

1

Вместо того, чтобы помещать символы в отдельные переменные, оставьте их в списке и переверните через этот список.

0

Вы можете просто проверить корабль члена в каскадной последовательности гласных:

if your_word in 'aeiou': 

И если вы имеете дело с большим количеством слов Л.О. длинных строк вы можете из гласные в set контейнере, который имеет O (1) порядок проверки членства

+0

Это мне очень помогает! Я попробую с вашим решением. Спасибо – xJelloMasterx

+0

@xJelloMasterx Добро пожаловать, Так что если бы это было полезно, вы можете сообщить об этом сообществу, приняв ответ! – Kasramvd

0

Вы можете создать Dict гласных, а затем проверить, чтобы увидеть, если входы в этом Словаре:

vowels = {'Vowels':['a','e','i','o','u']} 
a,b,c = input("Input three characters:>").split() 
a = str.lower(a) 
b = str.lower(b) 
c = str.lower(c) 
letters = [a,b,c] 
voweltruth = [x in vowels['Vowels'] for x in letters] 
print("The number of consonants is %i. The number of vowels is %i." % (3-sum(voweltruth),sum(voweltruth))) 
Смежные вопросы