напишите функцию python так, чтобы
слова в нечетном положении: отменить его
слова в четном положении: перегруппируйте символы так, чтобы все согласные отображались перед гласными, и их порядок не должен меняться
вход: солнце растет на восточном выходе: eht snu sesir ni eht stea
Я изменил строку, но не смог выполнить перегруппировку символов. Можем ли мы использовать функцию append и join или нужно поменять местами. По сути, поворот строки выполняется так, как мы можем добиться этого.
def encrypt_sentence(sentence):
vowel_set = set("aeiouAEIOU")
final_list=[]
word=sentence.split()
for i in range(0,len(word)):
if((i%2)==0):
final_list.append(word[i][::-1])
else:
final_list.append("".join(c for c in word if c not in vowel_set))
print(final_list)
encrypt_sentence("the sun rises in the east")
Я буду перебирать буквы, отслеживая гласные и согласные, а затем использовать соединение в конце.
def encrypt_sentence(sentence):
vowel_set = set("aeiouAEIOU")
final_list=[]
word=sentence.split()
for i in range(0,len(word)):
if((i%2)==0):
final_list.append(word[i][::-1])
else: # do rearrangement
vowels = list()
consonants = list()
for letter in word[i]:
if letter in vowel_set:
vowels.append(letter)
else:
consonants.append(letter)
new_string = "".join(consonants) + "".join(vowels)
final_list.append(new_string)
return final_list
попробуйте использовать два списка:
word='testing'
vov=[x if x in vowel_set else '' for x in word]
cons=[x if x not in vowel_set else '' for x in word]
('').join(cons+vov)
return final_list
присвоить ее переменной и затем напечатать оттуда, не рекомендуетсяprint
вашу функцию и неreturn