前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >input vs raw_input

input vs raw_input

作者头像
Crossin先生
发布2018-04-17 09:25:59
1.6K0
发布2018-04-17 09:25:59
举报

今天是教师节,祝老师们节日快乐。然后,今早,我居然也收到了祝福。。。暗自窃喜。

把之前有几篇不属于课程系列的文章整理了一下,回复 w 可以看到文章列表。包括罚点球游戏、搭建论坛、创建微信公众号等几篇。

最近几天有同学反映,咱们的论坛不太稳定。我自己也发现了,碰上好几次帖子打不开、发帖发不上的情况,一会儿就又恢复正常了。难道是因为教室的人越来越多,服务器快撑不住了?如果是这样的话,那我倒是挺开心的。暂时如果大家遇上页面打不开就麻烦多刷新几次,刷爆了我去换新服!

继续回答提问:

1.猜大小游戏里,answer=raw_input(),然后比较answer和答案num的大小,为什么总是显示“too big”?

这个问题很多同学在刚开始都犯过。这要怪python2.7的input()和raw_input()太容易混淆。

对于input(),如果你的输入是一个数字,那么程序得到的就是这个数字值;

如果你输入了一串字符,则程序会把这串字符当作变量名去寻找它的值;

如果你想用它输入字符串,则需要在前后加上引号。

另外,input还可以接受计算表达式,得到表达式的值作为输入。

而raw_input(),不管你输入的是数字、字符还是表达式,都会直接当作一串字符作为输入。如果你在输入中加上了引号,引号也会被作为输入内容算在字符串内。

所以,如果你想输入一个整数,你应该用

answer=input()

或者

answer=int(raw_input())

或许是为了避免这种混淆,在python3中,只剩下了一个input()函数,功能相当于2.x版本中的raw_input()

2.我应该学python还是Java/C++/C/ruby/JavaScript...,要不要同时学?

首先,我的观点是不要在一开始同时学两门语言。即使你一门学了一些了,也最好不要着急学其他的。精通一门编程语言比知晓好几门更有用。不同编程语言在本质上总是有相同之处。等你从一门入手,深入掌握之后,再学其他语言就会很轻松。

至于学哪一门语言。对于大多数零基础的编程爱好者来说,我还是建议python。如我在课程中提到的,它简单、实用、易学。让你可以不用纠结一些琐碎的编程细节,就能体会到编程的思想和乐趣。

而最近也有一些计算机相关专业的同学问到我类似的问题。我觉得,既然是专业的,那就最好是按照你们学校设置的编程课程去学习。没有差的语言,只有你不会使用它。如果非要我来选择语言,我会倾向于用C++。对于专业的学生,一开始深入细节、打好基础,对以后的学习有很大的帮助。而python因为不够严谨,又太好用的,不利于在一开始养成良好的编程习惯。

3. 我的代码遇到了@#¥%……问题,为什么不显示/跳出/结果不对?

这个问题是对于一些症状难以理解、检查了很久代码也摸不到线索的问题的一个猜测。根据我个人,以及不少同学曾经的问题得到的经验来看,如果你觉得你的代码没有问题,但结果就是不对,那很大的可能性是:你有变量名拼写错了!

这也是有人诟病python的问题之一,变量未经定义就可以直接使用。如果你赋值给了一个拼写错的变量,并不会引发error提示,但却会让结果不符合你的想象。

要避免这种问题,除了编码时的细心之外,找一个能代码检查的IDE或插件会轻松许多。

#==== Crossin的编程教室 ====#

面向零基础初学者的编程课

每天5分钟,轻松学编程

回复『 p 』查看python课程

回复『 g 』查看pygame课程

回复『 t 』查看习题

回复『 w 』查看其他文章

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2013-09-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Crossin的编程教室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
腾讯云代码分析
腾讯云代码分析(内部代号CodeDog)是集众多代码分析工具的云原生、分布式、高性能的代码综合分析跟踪管理平台,其主要功能是持续跟踪分析代码,观测项目代码质量,支撑团队传承代码文化。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档