用基本算法开始Python麻烦

时间:2013-01-11 21:43:32

标签: python algorithm structure

我是一个完整的Noob,在Mac上使用eclipse研究Python 2.7不到四天,我已经设法在大约20分钟内从头开始编写“FizzBang”,但是......我是在基本算法中有一点时间。我想知道这是否会及时加速,或者是否有某种“逻辑思维”练习在我之上没有指示。记忆语法到目前为止一直没有问题,我真的很喜欢这一切都有效的感觉。

我的问题是,我是否应该绕过我目前的初学者书并阅读有关基本算法的内容(可能是Python算法特有的内容)?

如果是这样,会推荐哪些初学者文字?

我搜索了这个主题并没有找到任何匹配的内容,所以如果这是一个重复的帖子,或者你称之为的话,我的不好。

我很感激你从Pro获得的任何帮助。感谢

3 个答案:

答案 0 :(得分:5)

学习编程语言的语法来表达算法就像学习英语的语法来表达思想一样 当然,英语中的细微差别可以让您比其他语言或其他语言更好地表达一些想法。但是,英语命令不会自动使您能够思考一些想法。

同样,如果你想拿一本算法书,那就去吧!您对python的理解与您开发和算法解决问题的能力密切相关。

一旦你学会了如何解决问题,你就可以开发一种算法来解决手头的具体问题,然后选择最适合表达该算法的语言

...随着您设计越来越多的算法,您将更好地开发更好的算法;当你编写更多的python代码时,你会更好地编写python代码。

我不知道您目前正在阅读哪本书,但初学者的书往往倾向于使用简单的算法示例来教授语言(语法,语义等)。如果您很难理解控制这些示例的解决方案的算法,那么您应该对算法进行一些初学者阅读。这有点像一个循环,真的 - 为了学习算法,你需要能够表达它们(并且算法最容易在代码中表达)。因此,要理解算法,您需要理解代码 这并不完全正确 - 伪代码很好地解决了这个问题。但是你至少需要了解伪代码。

希望这有帮助

答案 1 :(得分:1)

List of freely available programming books。 “语言不可知”部分有很多很好的参考资料可以帮助你进入编程格式塔。

练习,犯错,让程序以任何对你有意义的方式工作是非常重要的。当您更广泛地阅读并获得经验时,这将非常有价值,因为当您遇到更好的方法时,它将帮助您识别它。 “嘿,这就像我之前试图解决的那个问题,这种方式更清晰/更短/更快/更灵活/更性感!”

答案 2 :(得分:0)

我建议继续玩。推动自己,但要耐心等待。找到你无法解决的问题并尝试解决它们。搜索Google,Stackoverflow等......也许项目euler会很好。 project euler

我认为'思考'部分来自时间。您查看的语言越多,您尝试的项目越多,您就越了解如何实现创意。

我建议使用Python的一件事是阅读库pdf。查看itertoolscollections模块,因为它们通常提供优雅的方法来实现创意。

就个人而言,我开始使用Python,我喜欢它,但我目前正在玩Haskell。您不需要特定于python的教程来理解有效且更重要的“新”思维方式。

所以...嗯...也许这有点像絮絮叨叨...但我认为我的情绪就在那里。玩得开心!