gpt4 book ai didi

python 2.7 用字典中的值替换 raw_input 字符串

转载 作者:太空宇宙 更新时间:2023-11-04 03:07:33 29 4
gpt4 key购买 nike

我是编程新手(6 周,通过“codecademy”和“python the hard way”在网上自学)。我决定是时候开始尝试在没有指导的情况下编写代码了,但我在第二个项目中碰壁了。

我正在尝试制作一个“ secret 编码器”,它采用 raw_input 字符串并将其中的每个字母替换为字母表中的下一个字母。以我非常有限的知识,我认为字典应该是可行的方法。在“一点”谷歌搜索的帮助下,我写了这个:

alpha = {"a" : "b", "b" : "c", "c" : "d", "d" : "e", "e" : "f",  "f" : "g","g" : "h"
, "h" : "i", "i" : "j", "j" : "k", "k" : "l", "l" : "m","m" : "n", "n" : "o"
, "o" : "p", "p" : "q", "q" : "r", "r" : "s","s" : "t", "t" : "u", "u" : "v"
, "v" : "w", "w" : "x", "x" : "y", "y" : "z", "z" : "a"}

entry = raw_input("Please write a sentence you want to encode: ")

def encode(entry, letters):
for k, v in letters.iteritems():
if k in alpha:
entry = entry.replace(k, v)
return entry
print encode(entry, alpha)

我遇到的问题是我的字符串中只有一半字母被字典中的正确值替换。当“a”应打印为“b”而“b”应打印为“c”时,“a”和“b”都将打印为“c”,依此类推。

illustration

我完全迷失的地方是,当我用数字替换字典中的每个值时,它工作得很好。

illustration bis

这就是它的要点,我真的不明白我的代码有什么问题。

预先感谢您的帮助。

PS:这是我在 stackoverflow 上的第一篇文章,希望我所做的一切都是我应该做的。

编辑:由于我还不能给出声望,我将在这里感谢大家提供有用的答案。我现在可以更清楚地看到我的错误所在,我将利用此处提供的信息来修复我的代码并努力正确理解它。此外,我还可以看到解决此类问题的逻辑和直接方法要多得多。功能对我来说仍然有点模糊,但我想这么早是正常的。

最佳答案

Xetnus 是正确的,您需要遍历条目变量而不是字母。也许是这样的

def encode(entry, letters):
new_entry = ''
for letter in entry:
if letter in letters:
new_entry += letters[letter]
return new_entry
print encode(entry, alpha)

关于python 2.7 用字典中的值替换 raw_input 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39030037/

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