编写一个python函数,以便
单词在奇数位置:将其反转
单词在偶数位置:重新排列字符,以便所有辅音 出现在元音之前,其顺序不应更改
输入:太阳从东方升起 输出:eht snu sesir ni eht stea
我已经颠倒了字符串,但是无法对字符进行重新排列。 我们可以使用附加和联接功能还是需要最后交换。 基本上已经完成了字符串的旋转,所以我们如何才能做到这一点。
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")
答案 0 :(得分:1)
我会遍历字母以跟踪元音和辅音,然后在末尾使用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: # 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
答案 1 :(得分:1)
尝试使用两个列表理解:
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)
答案 2 :(得分:0)
person