【发布时间】:2012-11-12 04:46:36
【问题描述】:
代码太长,无法在这里粘贴,所以在 PasteBin 上:http://pastebin.com/UDPFYsLJ
我想要实现的是能够输入“555-GET-FOOD”之类的内容并获得“555-438-3663”。
我有将字母更改为数字的代码……只是在完全不同的行上。以下是一小段摘录:
Number: 555-GET-FOO3
Number: 555-4ET-FOOD
Number: 555-GET-3OOD
它正确地更改了字母并保留了数字,但它们都在不同的行上。我知道我让它在 for 循环中运行,但我希望对前一个循环所做的更改保留在当前循环中。
例如,如果第一个循环返回 555-GET-FOO3,我希望下一个循环能够获取它,以便它可以返回 555-4ET-FOO3。
我只是不知道该怎么做。
任何提示都会很棒。我也一直在看这个帖子:Removing a list of characters in string
但是,我没有对 translate 函数做太多(或者,任何事情),并且很难在 Python 文档之外找到一个好的演练。
这是给学校的,我们不能使用 Python 3,我们必须使用 Python 2.7,所以我认为 maketranslate 不会起作用。
【问题讨论】:
-
maketrans 在 python2.x 上应该可以正常工作...
-
@mgilson:虽然我同意你的观点,但我认为 OP 是一个初学者,试图“学习绳索”。因此,虽然对
maketrans和str.translate的引用是进一步阅读的良好参考,但我认为一个好的答案应该可以帮助她了解她的算法出了什么问题。反对/同意? -
@inspectorG4dget -- 在帮助新手与创建对他人真正有用的东西以在生产代码中使用 SO 的精神与作业帮助网站。在这种情况下,我相信
maketrans是一个(?)适合这项工作的工具,所以我不希望它宣传“maketrans在 py2.x 中不起作用”。我也很难处理迫使我查看粘贴箱的代码,因为它太长了。通常归结为发布的最小示例可以帮助 OP 找到她自己的问题... :.agree 和 dissagree -
@mgilson:你有 10 分钟吗?我想和你聊聊我的想法
-
@inspectorG4dget -- 我回复了你的评论然后离开了我的电脑。对此感到抱歉。
标签: python