我想在每封信之前添加一个点。 不幸的是,重点是在每封信之后。如何在每个字母前插入点?
myText = str(input())
vowels = ['a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U']
result = ''
for letter in myText:
if letter not in vowels:
result = result + letter
for i in result:
result = result + '.'
break
print(result.lower())
答案 0 :(得分:1)
依赖regular expressions的力量的更短,更快的解决方案:
import re
my_text = "sample"
re.sub(r"[aeiou]*([^aeiou])[aeiou]*", r".\1", my_text.lower())
这样写着:“删除元音,并用点加上每个剩余字母的前缀”。
答案 1 :(得分:0)
删除所有元音并附加"。"在每封信之前。
myText = "sample"
vowels = ['a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U']
result = ''
for letter in myText:
if letter not in vowels:
result = result + '.' + letter
print(result.lower())
# .s.m.p.l
答案 2 :(得分:0)
text = 'audfijsdfmsomlasn'
vowels = {'a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U'}
result = ''
for letter in text:
if letter in vowels:
result += '.'
result += letter
print(result)
答案 3 :(得分:0)
另一种方式:
import re
myText = "sample"
result = '.' + '.'.join(list(re.sub('[aeiou]', "", myText, flags=re.I)))
print(result)
说明:
re.sub
删除不需要的字母(不区分大小写= re.I
)list
使字符串成为字符数组join
在'.' +
在第一个字符答案 4 :(得分:0)
string = input()
vowels = ['a', 'A', 'i', 'I', 'o', 'O', 'u', 'U', 'e', 'E']
translation = string.maketrans({i: '' for i in vowels})
string = string.translate(translation)
result = ''
for letter in string:
result = result + '.' + letter
print(result.lower())