#python #list
#питон #Список
Вопрос:
Я новичок в программировании и пытался выполнить несколько упражнений.
Прочитав 5 букв, я хотел бы добавить в новый список только одну гласную.
Я изо всех сил пытался сделать это, но не смог. Вот мой — не работающий — скрипт:
list = []
vowels = []
for i in range(5):
list.append(str(input('Add a letter: ')))
for j in list:
if 'aeiou' in list:
vowels.append(list[:])
print(vowels)
Оказывается, когда я печатаю гласные, я получаю пустой список [].
Не могли бы вы, ребята, сообщить мне, где я совершаю ошибку?
Пожалуйста, потерпите меня, я очень новичок в программировании и все еще узнаю, как это работает.
Большое спасибо!
Комментарии:
1.
if any(letter in list for letter in 'aeiou')
?2. Привет, @Felipe, добро пожаловать в SO, не могли бы вы вкратце объяснить, чего вы хотите достичь?
Ответ №1:
Это может быть решением, но я не смог полностью понять, что вы пытаетесь сделать.
letter_list = []
vowels = []
for i in range(5):
letter_list.append(str(input('Add a letter: ')))
for j in letter_list:
if any([i in j for i in 'aeiou']):
vowels.append(j)
print(vowels)
Или без части pythonic в операторе if.
letter_list = []
vowels = []
for i in range(5):
letter_list.append(str(input('Add a letter: ')))
for j in letter_list:
if 'a' in j or 'e' in j or 'i' in j or 'o' in j or 'u' in j:
vowels.append(j)
print(vowels)
Ответ №2:
Если я правильно понимаю ваш вопрос, то вы ищете следующее:
found_vowels = []
vowels = ['a','e','i','o','u']
for i in range(5):
letter = input('Enter a letter: ')
if letter in vowels:
found_vowels.append(letter)
print(f"The vowels you entered are {found_vowels}")
Ответ №3:
Согласно вашему утверждению, если вам нужно сначала прочитать 5 букв, а затем решить, какие из них являются гласными, тогда у вас может быть 2 отдельных цикла:
mlist = []
vowels = []
for i in range(5):
mlist.append(input('Add a letter: '))
# Copying in a second list just the vowels
for j in mlist:
if j in 'aeiou':
vowels.append(j)
print(vowels)
Если вы хотите разделить гласные и согласные, вы можете решить это следующим образом:
vowels = []
consonants= []
for i in range(5):
letter = input('Add a letter: ')
if letter in 'aeiou':
vowels.append(letter)
else:
consonants.append(letter)
print(vowels)
print(consonants)