s = input()
s.lower()
for i in range (0, len(s)):
if(s[i] in "aoyeui"):
s.replace(s[i], '')
for i in range(0, len(s)):
s.replace(s[i], '.' + s[i])
print(s)
s = input () #wrong indentation
s.lower() # you have to assign it to s.
for i in range (0, len(s)): # range(0, x) is the same as range(x)
if (s[i] in "aoyeui"): # ok
s.replace(s[i], '') # strings are not mutable so replace does not modify the string. You have to assign it to s
# splitting can be done much easier :)
for i in range(0, len(s)):
s.replace(s[i], '.' + s[i]) # again you have to assign
print(s) # ok
s = input ()
s = s.lower()
for vowel in "aoyeui":
s = s.replace(vowel, '')
s = '.'.join(list(s)) # this is how to separate each character with a dot (much easier eh?)
print(s)
s.lower()
应该分配给s
,否则原始字符串将保持不变。你知道吗我重写了一个工作代码。希望它能帮助您:
让我们逐行注释:
我也注意到你的代码还有一个问题。当替换元音时,字符串长度会发生变化,并可能导致多个问题。当长度改变时,通常不应该按索引进行迭代。所以正确的代码应该是这样的:
str
是不可变的。它上的所有操作都会创建一个新的str
。你知道吗当您使用
replace
时,您想重新分配s
。或lower
。你知道吗相关问题 更多 >
编程相关推荐