首页 » 父与子的编程之旅:与小卡特一起学Python » 父与子的编程之旅:与小卡特一起学Python全文在线阅读

《父与子的编程之旅:与小卡特一起学Python》5.4 来自互联网的输入

关灯直达底部

通常,程序的输入都来自用户。不过还有其他一些方法得到输入。可以从计算机硬盘上的文件中得到输入(这个内容会在第 22 章介绍),或者也可以从互联网获取输入。

如果你能连接互联网,可以试试代码清单 5-4 中的程序。它会从这本书的网站打开一个文件,为你显示这个文件中的消息。

代码清单 5-4 从互联网上的一个文件得到输入

import urllib2file = urllib2.urlopen('http://helloworldbook2.com/data/message.txt')message = file.readprint message  

就这么简单。只需要区区 4 行代码,你的计算机就可以通过互联网得到这本书网站上的一个文件,并显示这个文件。如果试着运行这个程序(假设你的互联网连接工作正常),你会看到这个消息。

如果你在办公室或学校的计算机上尝试这个程序,很可能无法正常工作。这是因为,有些办公室和学校使用一种名叫代理的东西连接到互联网。代理就是另一台计算机,它相当于互联网与学校或办公室之间的一座桥梁或一条通路。取决于代理的设置,这个程序可能不知道如何通过代理连接到互联网。如果从家里的计算机(或者其他可以直接连接互联网而不需要通过代理的地方)运行这个程序,应该能正常工作。

 

向程序员一样思考

根据你使用的操作系统(Windows、Linux 或 Mac OS X),运行代码清单 5-4 中的程序时,你可能会在每行末尾看到小方块或类似 /r 的字符。这是因为,不同的操作系统使用不同的方法来指示文本行的结束。Windows(和之前的 MS-DOS)使用两个字符:CR(回车)和 LF(换行)来表示。Linux 只使用 LF,Mac OS X 只使用 CR。

有些程序可以处理所有这些情况,不过有些程序(比如 IDLE)看到行结束符与它期望的不一致时,就会不知所措。发生这种情况时,它们会显示一个小方块,表示“我不理解这个字符”。你可能会看到这样的小方块,也可能看不到,这取决于你在使用什么操作系统,还取决于你如何运行程序(使用 IDLE 还是采用另外某种方法)。

你学到了什么

在这一章,你学到了以下内容。

  • raw_input 输入文本。

  • raw_input 增加一个提示消息。

  • 结合 intfloat 使用 raw_input 输入数字。

  • 使用逗号将多行打印到一行上。

测试题

1. 对于下面这行代码:

answer = raw_input  

如果用户键入 12answer 的数据类型是什么?是字符串还是一个数?

2. 怎么让 raw_input 打印一个提示消息?

3. 怎么使用 raw_input 得到一个整数?

4. 怎么使用 raw_input 得到一个浮点数(小数)?

动手试一试

1. 在交互模式中建立两个变量,分别表示你的姓和名。然后使用一条 print 语句,把姓和名打印在一起。

2. 编写一个程序,先问你的姓,再问名,然后打印一条消息,在消息中包含你的姓和名。

3. 编写一个程序询问一间长方形房间的尺寸(单位是米),然后计算覆盖整个房间总共需要多少地毯,并显示出来。

4. 编写一个程序先完成第 3 题的要求,不过还要询问每平方尺地毯的价格。然后主程序显示下面 3 个内容:

  • 总共需要多少地毯,单位是平方米。

  • 总共需要多少地毯,单位是平方尺(1 平方米 = 9 平方尺)。

  • 地毯总价格。

5. 编写一个程序帮助用户统计她的零钱。程序要问下面的问题。

  • “有多少个五分币?”

  • “有多少个二分币?”

  • “有多少个一分币?”

让程序给出这些零钱的总面值。