我们已经见过如何使用 raw_input 来得到字符串。但是如果希望得到一个数该怎么做呢?毕竟,我们之所以讨论输入,原本就是为了让用户为我们的温度转换程序输入温度。
如果你读过第 4 章,应该已经知道答案了。可以从 raw_input 给我们的字符串使用int 或 float 函数创建一个数。可以像这样:
temp_string = raw_inputfahrenheit = float(temp_string)
先使用 raw_input 得到用户的输入(一个字符串)。然后使用 float 由这个字符串创建一个数。得到温度(作为浮点数)后,为它指定名字 fahrenheit。
不过还有一种简便方法。只需一步就可以完成所有这些工作,如下:
fahrenheit = float(raw_input)
所做的工作是一样的。它由用户得到字符串,然后从这个字符串创建一个数。这里只是稍稍少写一点代码。
下面在我们的温度转换程序中使用这种方法。试着运行代码清单 5-3 中的程序,看看会得到什么。
代码清单 5-3 使用 raw_input 转换温度
还可以把代码清单 5-3 最后 3 行合并为一行,像这样:
print "That is", celsius, "degrees Celsius"
这实际上是之前 3 个 print 语句的简写形式。
结合 int 使用 raw_input
如果你希望用户输入的数总是整数(而不是小数),可以用 int 来转换,例如:
response = raw_input("How many students are in your class: ")numberOfStudents = int(response)