请告知以下代码是否有效。我的似乎根本没有工作
string = str(input('Enter something to change'))
replacing_words = 'aeiou'
for i in replacing_words:
s = string.replace('replacing_words', ' ')
print(s)
Run Code Online (Sandbox Code Playgroud)
我的目的是用空格替换字符串中的所有元音。如果这是错误的代码,有人可以提供正确的代码和解释,为什么它不起作用?
谢谢
这是正确的代码。
\n\nstring = input('Enter something to change')\nvowels = 'aeiouy'\n\nfor i in vowels:\n string = string.replace(i, ' ')\n\nprint(string)\nRun Code Online (Sandbox Code Playgroud)\n\n另外,我认为输入返回一个字符串“类型”。所以调用str不会有任何效果。没有把握。另外#2:y也是元音(如果你想彻底的话,\xc3\xa5\xc3\xa4\xc3\xb6和其他变音符号和奇怪的字符也是元音)。
\n您可以定义翻译表。这是一个Python2代码:
>>> import string
>>> vowels = 'aeiou'
>>> remove_vowels = string.maketrans(vowels, ' ' * len(vowels))
>>> 'test translation'.translate(remove_vowels)
't st tr nsl t n'
Run Code Online (Sandbox Code Playgroud)
它快速,简洁且不需要任何循环。
对于Python3,您应该编写:
'test translation'.translate({ord(ch):' ' for ch in 'aeiou'}) # Thanks @JonClements.
Run Code Online (Sandbox Code Playgroud)