一些常见的新手问题

本账号开设至今,回答的各种问题,没有一万也有八千了。今天挑了其中曝光率较高的一些问题,跟各位分享,供入门不久和新关注的同学参考。

1. 我是零基础,如何开始学习编程?

先看本账号的 Python 入门课程。这个系列从零开始,不需要任何编程基础,专治不入门。

2. 我该用什么来编写 Python 程序?

Python 自带一个叫做 IDLE 的工具,作为入门的开发工具已经可以用了。除此之外,有两条路:一条是使用其他 IDE(集成开发环境),推荐 PyCharm,好用且有免费版,问题较少。另一条是直接用文本编辑器写代码,然后在命令行运行。文本编辑器推荐 SublimeText。

3. IDLE 里为什么只能写一行代码?

IDLE 默认打开的是 Python 命令行,可用来调试语句。写代码需要点击菜单上的 File,选择 New File(有的是 New Window),在新打开的文件中编写。写完后可以保存在电脑上,点击菜单上的 Run,选择 Run Module 可运行。

4. SublimeText 里的 input 代码为什么会报错?

Sublime 的 Python 运行环境和命令行有一些差异,不能模拟输入,这一问题在很多在线运行环境中也存在。所以编写输入相关的代码请在命令行或 IDE 中运行。

5. 输入为什么报错?输入的值比较大小为什么结果不对?

input 要求输入的是一个值,所以如果输入字符串,需加上引号,否则程序会作为变量来处理,找不到对应变量就会报错。

raw_input 对于任何输入都会当做字符串处理。如果输入数字,会自动转为字符,在程序里和数值类型比较大小无法得到预期的结果。如果输入时加了引号,则引号也会成为这个字符串的一部分。

特别注意:Python3 的 input 相当于 raw_input,不再提供直接输入数值的方法。对于数字类型的输入,需额外做转换。

6. print 为什么报错?

需要输出一个已定义的值。输出字符串需要加引号。Python3 的 print 需要加括号。

7. 我该学 Python2 还是 Python3?

我一贯的观点是,学哪个都一样,学会之后转另一个都是分分钟的事情。之前大多数教材和第三方的模块都基于版本2,我的教程也是,所以我倾向于2。近来发现 Python3 推广的脚步在加快,之后也会考虑将原有教程增加一个 Python3 的版本。

不管选择2还是3,在官网下载时,都选最新的小版本。根据你系统的不同选择对应的下载文件,需要确认是否 64 位系统。如果你无法确认,就选择非 64 位的版本。

对于正在用和打算用 Python3 的同学,请先看下此篇:

【Git 第63课】python 2到3的新手坑

8. 为什么程序里加了中文就报错?

这是因为对字符的编码没有处理好。这也是 Python2 广为诟病的一块。具体参见:

浅谈 Python 2 中的编码问题

判断字符编码

9. while 一课中,为什么在开始要 bingo = False?

bingo 是否为 False 是这里循环的判断条件。开始 bingo = False 是为了提供一个符合循环条件的初始值。知道猜中之后,设置 bingo = True,下次循环就不再执行。

10. 其他新手常见问题和注意事项

  • 用了中文标点
  • 缩进不对
  • 变量名拼写错误
  • 不要用系统关键字命名变量和文件名,比如 str、list、random、math……
  • 尽量不要把 python 安装在含有中文或空格的路径下,代码文件同样也是

11. 调试小技巧

在程序中的不同位置增加 print,以便确认程序的运行路径,以及每一步产生的中间变量具体值。

12. 关于提问

提问前尽可能通过搜索自行寻找解答。

编程初学者如何使用搜索引擎

推荐方式:

  • QQ 群讨论
  • 论坛发帖

提问时尽量明确问题,附上:

  • 代码
  • 输出或报错信息
  • 所用版本

13. 练手资源

近期几篇:

用 Python 实现一个简单的微信红包算法

测试你的红包代码

一道囚徒问题

囚徒问题解答

用 Python 跟自己下棋

用 Python 跟自己下棋(续)

更多习题可点击公众号下方菜单栏中的“课外辅导”->“练习”。

14. 其他推荐教材

  • 《与孩子一起学编程》 同样适合零基础的一本书。除了 Python 之外,还顺带说了点计算机常识。
  • 《笨办法学Python》 以习题为导向,注重实践,不足之处是原理讲得较少,新手看可能会有点懵。
  • 《简明 Python 教程》 适合有过一些编程基础的人,可以快速上手 Python。

原文发布于微信公众号 - Crossin的编程教室(crossincode)

原文发表时间:2016-03-26

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏炉边夜话

写程序应该注意的地方

1. 对于文本编辑框,一定要判断是否含有非法字符。对于数字型一定要判断是否含有非数字。对于字符型,一定要判断是否在允许的字符内。

19830
来自专栏专知

【分享】Java 9正式发布,9个新特性解读

转自:开源中国, www.oschina.net/translate/java-9-new-features Java 8 发布三年多之后,即将快到2017年7...

34950
来自专栏CSDN技术头条

Java性能调优的11个实用技巧

大多数开发人员认为性能优化是个比较复杂的问题,需要大量的经验和知识。是的,这并不没有错。诚然,优化应用程序以获得最好的性能并不是一件容易的事情,但这并不意味着你...

20170
来自专栏Python入门

这4个Python实战项目,让你瞬间读懂Python!

Python当下真的很火。Python实战项目,也一直尤为关注,接下来,和大家介绍下十个Python练手的实战项目

20740
来自专栏玄魂工作室

如何学python-第四课 基本的用户输入

译者注:原作者留的练习任务都比较灵活,并不是具体的要求。而根据我自身的经验,很多同学看到这种需要探索精神的要求,可能就不愿意自己去进一步探索了(或者不知道具体要...

32380
来自专栏北京马哥教育

原来 Python 还有这些实用的功能和特点!

在使用Python多年以后,我偶然发现了一些我们过去不知道的功能和特性。一些可以说是非常有用,但却没有充分利用。考虑到这一点,我编辑了一些你应该了解的Pytho...

13820
来自专栏丑胖侠

《Drools 7 规则引擎教程》番外篇-规则条件匹配机制

问题场景 QQ技术群(593177274)中有同学遇到这一个问题场景:在多条规则(比如3条)的when中使用了一个相同的静态方法,并在静态方法中打印相关的日志信...

27780
来自专栏张善友的专栏

我为何需要使用空接口?

FxCop设计规则中的第三条提供了对空接口的检查.下面是它的描述: 一个接口提供了一组行为和使用契约(usage contract),任何一个类型都可以实现这个...

20350
来自专栏程序员的知识天地

这4个Python实战项目,让你瞬间读懂Python!

Python当下真的很火。Python实战项目,也一直尤为关注,接下来,和大家介绍下十个Python练手的实战项目

17430
来自专栏小程序·云开发专栏

小程序·云开发的云函数路由高级玩法

在掘金开发者大会上,在推荐实践那里,我有提到一种云函数的用法,我们可以将相同的一些操作。

9K130

扫码关注云+社区

领取腾讯云代金券