我正在尝试编写一个函数,让我可以移动字符串中的单个字母。字符串来自输入。
我在看元音所以“a,e,i,o,u”
我希望将单个字母向右移动一位。即世界“m e ”将成为“m i ”,因为i是e之后的下一个字母。
这是我到目前为止:
import random
vowels = ("a", "e", "i", "o", "u")
message = input("Enter a string")
new_message = ""
for letter in message:
if letter not in vowels:
new_message += letter
else:
new_message += random.choice(vowels)
print(new_message)
Run Code Online (Sandbox Code Playgroud)
然而,这会使单个元音的变化随机化,使其转移到下一个字母的最佳方法是什么?
如果你想翻译整个字符串,那么我会看str.translate.
这是一个使用元音的简单示例:
>>> v = "aeiou"
>>> vDict = {v[i]: v[(i+1)%len(v)] for i in range(len(v))}
>>> vDict
{'a': 'e', 'e': 'i', 'i': 'o', 'o': 'u', 'u': 'a'}
>>> "This is a test-string. hope it works!".translate(str.maketrans(vDict))
'Thos os e tist-strong. hupi ot wurks!'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
283 次 |
| 最近记录: |