gpt4 book ai didi

python - 我正在尝试使用 python 对字符串执行一些手动编码

转载 作者:行者123 更新时间:2023-12-01 01:21:47 24 4
gpt4 key购买 nike

问题描述:

sms_encoding() 它接受一个句子并将其转换为要作为短信发送的缩写句子并返回缩写句子。

规则如下:

a.空格应按原样保留

b.每个单词应该单独编码

如果一个单词只有元音,则按原样保留该单词如果一个单词有辅音(至少 1 个),则仅保留这些辅音

我的代码:

#PF-Assgn-50

def sms_encoding(data):
#start writing your code here
vowels=set("aeiouAEIOU")
v_list=[]
c_list=[]
final_list=[]
new_string=''
word=data.split()
word2=[]
for i in range(0,len(word)):
ch=word[i]
#print(ch)
if ch in vowels:
v_list.append(ch)
for letter in word[i]:
if letter not in vowels:
c_list.append(letter)
c_list.append(" ")


new_string=''.join(v_list)+''.join(c_list)
final_list.append(new_string)

#print(v_list)

return ' '.join(final_list)


data="Have a Nice Day"
print(sms_encoding(data))

我的输出:

aHv **<2spaces>** Nc **<1space>** Dy

预期输出:

Hv a Nc Dy (contains only 1 space)

最佳答案

只有当单词至少包含一个辅音时,您才可以仅使用辅音来迭代句子中的单词:

data = "Have a Nice Day"

splitted = data.split()
for i, x in enumerate(splitted):
if not all(y in 'aeiou' for y in x.lower()):
splitted[i] = ''.join([y for y in x if y.lower() not in 'aeiou'])

print(' '.join(splitted))
# Hv a Nc Dy

关于python - 我正在尝试使用 python 对字符串执行一些手动编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53749675/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com