gpt4 book ai didi

python - python中的字母位置

转载 作者:行者123 更新时间:2023-11-28 21:34:14 29 4
gpt4 key购买 nike

这里的新手...尝试编写一个函数,该函数接受一个字符串并将所有字符替换为它们各自的字典值。这是我所拥有的:

def alphabet_position(text):

dict = {'a':'1','b':'2','c':'3','d':'4','e':'5','f':'6','g':'7','h':'8':'i':'9','j':'10','k':'11','l':'12','m':'13','n':'14','o':'15','p':'16','q':'17','r':'18','s':'19','t':'20','u':'21','v':'22','w':'23','x':'24','y':'25','z':'26'}
text = text.lower()
for i in text:
if i in dict:
new_text = text.replace(i, dict[i])
print (new_text)

但是当我运行时:

alphabet_position("The sunset sets at twelve o' clock.")

我明白了:

the sunset sets at twelve o' cloc11.

意味着它只改变字符串中的最后一个字符。有任何想法吗?非常感谢任何输入。

最佳答案

按照您的逻辑,您需要创建一个 new_text 字符串,然后迭代地替换它的字母。使用您的代码,您一次只替换一个字母,然后从头开始使用您的原始字符串:

def alphabet_position(text):

dict = {'a':'1','b':'2','c':'3','d':'4','e':'5','f':'6','g':'7','h':'8','i':'9','j':'10','k':'11','l':'12','m':'13','n':'14','o':'15','p':'16','q':'17','r':'18','s':'19','t':'20','u':'21','v':'22','w':'23','x':'24','y':'25','z':'26'}
new_text = text.lower()
for i in new_text:
if i in dict:
new_text = new_text.replace(i, dict[i])
print (new_text)

正如 Kevin 所建议的,您可以使用 set 进行一些优化。 (在他删除后在此处添加他的评论:for i in set(new_text):)请注意,这可能仅对大型输入有益...

关于python - python中的字母位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53661833/

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