这些年,你们一起踩过的坑(1)
编程教室创建5年多了,回答的问题不说上万也有好几千了。尽管大多数的问题在过去的文章以及论坛上都有讲过不止一遍,但因为不断有新人到来,难免还是被这些小坑磕磕绊绊一番。
今天就把平常被提问频率较高的一些问题整理出来,再次统一回答。基本都是非常早期阶段的问题,其中一定有你遇到过或将会遇到的。已经有一定基础的同学也可以对照下,这些问题涉及的概念,自己是否都已清楚。
因为篇幅问题,会分几篇来讲,如果你们有希望我讲解的,请在留言中提出。如果是普遍问题,我会放在后续中。
1. 我该下载哪个 Python 版本?
去官网 python.org 下载最新版本即可,无需严格按照教程里的小版本。如果连不上官网,也可以从文末“阅读原文”进入“学习资源”-“相关下载”,找到网盘里替你们下载好的安装包(不是实时最新版,但可以用)。
如果官网上的最新版本按钮没有替你自动下载,可从列表中选择 executable installer。如果你确信自己的系统是 64 位的,可以选 x86-64,否则选 x86 也没有问题。
我刚发现现在官网已经不再默认放置 2.7 版本的下载按钮了。所以关于 2 还是 3 的老问题也别纠结了,顺应潮流装 3 吧。我们的教程文章也逐步更新中(历史文章无法更新,请从“阅读原文”或回复 python 进入)。已经用了 2 的同学也不用担心,从语法上来说,真的没有什么差别,学会任何一个版本后都可以秒转。
2. 我在 Python 里为什么不能换行?
这个界面叫做 python shell,不是开发写代码的地方,每输入一行它都会自动执行并输出结果。所以要写代码,请参考课程《第3课 - IDE》里的说明,通过窗口上方菜单栏的 File - New File(或 New Window)创建一个新窗口,在里面写代码。
类似的问题还有,为什么教程里有输出,我代码里就没有?上面说了,python shell 会自动输出,而在代码中,你需要 print。
3. 程序为什么到输入的地方就不动了?
可能有人会说,这也算问题?但确实有相当多的人在这一步会产生误解:以为 input 后面括号里的内容就是“用户输入”。
这里要明确:input 获取的是“用户”输入,是程序运行时才得到的数据,所以不是开发者在代码里预先写好的。input 括号里的文字,只是用来作为输入前的“提示语”。真正的输入,是要程序执行后,在控制台里输入,按回车结束。