Python 输入

6 阅读3分钟

简单输入

print("输入你的名字:")
somebody = input()
print("你好,",somebody)

再进阶点

somebody = input("输入你的名字:")
print("你好,",somebody)

怎么输入数字

temp_string = input("输入温度(华氏度):")
f = float(temp_string)
c = (f-32)*5.0/9
print("今天的温度为",c,"摄氏度")

优化一下

f = float(input("输入温度(华氏度):"))

输入整数

num = int(input("输入个整数:"))
print(“你输入的整数为:”,num)

小备注

python3.0之前的版本输入函数叫raw_input(),输入的是字符串,不过后来改名成了input()。而原始版本也有一个input()函数,是用来输入数字的,不过被去除了,为了让我们更好理解如何从字符串创建一个数。print()函数同样如此,3.0之前的写法是 print "abc",3.0之后切换为了 print("abc")。

来自互联网的输入

除了用户,我们也可以从计算机硬盘上的文件得到输入,或者是从互联网得到输入。

下面是一个读取互联网文件的代码段

import urllib.request 
file = urllib.request.urlopen('http://helloworldbook.com/data/message.txt')
message = file.read()
print(message)

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

根据不同的操作系统(Windows、Linux、Mac OS ),运行代码可能会看到不同的结果,比如小方块或类似\r的字符。

这是因为不同的操作系统使用不同的方法来指定文本行的结束。Windows和之前的MS-DOS使用两个字符:CR(回车)和LF(换行)来表示。Linux只使用LF,Mac OS 只使用 CR 。

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

你学到了什么

  • 使用Input()输入文本
  • 向input()增加一个提示消息
  • 结合int()和float()使用input()输入数字
  • 使用逗号将多行打印到一行

测试题

1.对于下面这行代码:

answer = input()

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

2.怎么让input()打印一个提示消息?

3.怎么使用input()得到一个整数?

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

动手试试

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

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

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

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

    1. 总共需要多少地毯,单位是平方米。
    2. 总共需要多少地毯,单位是平方尺(1平方米=9平方尺)
    3. 地毯总价格。
  5. 编写一个程序帮助用户统计他的零钱。程序要问下面的问题:

    1. 有多少个五分币?
    2. 有多少个二分币?
    3. 有多少个一分币?
    4. 让程序给出这些零钱的总面值。