【Python 第4课】输入


Hi~我Crossin又来了。

 

可以用编程语言让计算机按你说的指令做事情之后,大家是不是有些跃跃欲试呢?别着急,先回顾一下我们之前几节课。我们到现在一共提到了三种可以运行print的方式:

1. 打开 IDLE,直接在 >>> 后面输入 print 语句并回车执行。但是这种方法很难帮我们实现写一个完整小程序的目标。

2. 在 IDLE 里新建一个代码文件,写好 print 语句后,保存并运行。以后我们课程里的内容,你都可以用此方法进行。不知道大家是不是都顺利搞定,并且能顺利保存并打开py文件了呢?

3. 也可以直接在命令行里运行 python 命令,进入 python 命令行的交互环境。命令行,包括Win下的控制台(CMD)和Mac下的终端(Terminal)。

 

大家是不是都准备好自己的武器了呢?那我们接下来就要正式开战啦!

 

#======== 进入今天的正题 ========#

 

之前print了那么多,都是程序在向屏幕“输出”。那有来得有往,有借得有还,有吃。。。咳咳!那啥,我们得有向程序“输入”信息的办法,才能和程序对话,进行所谓的“人机交互”。

 

python有一个接收命令行下输入的方法:

input()

注意,和 print 一样,我们必须得加上(),而且得是英文字符的括号。

 

好了,终于可以搬出那个弱智小游戏了,耶!

游戏里我们需要跟程序一问一答,所以我们先把话给说上。

 

打开我们的python编辑器,不管是IDLE,还是其他的IDE。新建一个代码文件,在其中输入下面几句代码:

print("Who do you think I am?")
input()
print("Oh, yes!")

 

然后,点击 Run -> Run module。你会在命令行中看到,程序输出了第一句之后就停住了,这是 input 在等待你的输入。

 

注意1:这里的代码请新建一个代码文件后,在其中编写并运行,否则无法换行并获取输入(参见之前 IDE 那课中的说明)

注意2:这里是在控制台里输入内容后回车,而不是把你要输的东西提前写在括号里!切记!括号里可以加文字,但那只是用来作为输入的提示语。input 不是提前代码里写死输入内容,而是在程序运行时动态获取用户的输入。

 

输入你的回答,敲回车。你会看到程序的回答。

图中的代码额外有增加了一问一答,蓝色字是程序输出,黑色字是我们运行时的输入。

 

注意3:py3里的input()得到的都是字符串。如果输入了数字,得到的也是含有这个数字的字符串,而非数值。

 

看上去不错哦,似乎就这么对上话了。是不是觉得离小游戏的完成迈进了一大步?可是大家发现没有,即使你说"Idiot!",程序仍然会淡定地回答"Oh, yes!"因为它左耳进右耳出,根本就没听进去我们到底说了啥。那怎么才能让它认真听话呢?

啪!且听下回分解。

 

#======== 课外的话 ========#

 

PS:今天心情不错,给大家讲个很冷的程序员笑话。

 

一位程序员对书法十分感兴趣,退休后决定在这方面有所建树。于是花重金购买了上等的文房四宝。一日,饭后突生雅兴,一番磨墨拟纸,并点上了上好的檀香,颇有王羲之风范,又具颜真卿气势,定神片刻,泼墨挥毫郑重地写下一行字:

hello world

 

来源:Crossin的编程教室