笨办法学Python(十一)

习题 11: 提问

    我已经出过很多打印相关的练习,让你习惯写简单的东西,但简单的东西都有点无聊,现在该跟上脚步了。我们现在要做的是把数据读到你的程序里边去。这可能对你有点难度,你可能一下子不明白,不过你需要相信我,无论如何把习题做了再说。只要做几个练习你就明白了。

    一般软件做的事情主要就是下面几条:

  1. 接受人的输入。

  2. 改变输入。

  3. 打印出改变了的输入。

    到目前为止你只做了打印,但还不会接受或者修改人的输入。你也许还不知道“输入(input)”是什么意思。所以闲话少说,我们还是开始做点练习看你能不能明白。下一个习题里边我们会给你更多的解释。

1 #-- coding: utf - 8 --
2 print "How old are you?", 
3 age = raw_input() 
4 print "How tall are you?", 
5 height = raw_input() 
6 print "How much do you weigh?", 
7 weight = raw_input() 
8 
9 print "So, you're %r old, %r tall and %r heavy." % ( age, height, weight)
View Code

    Note

      注意到我在每行 print 后面加了个逗号(comma) , 了吧?这样的话 print 就不会输出新行符而结束这一行跑到下一行去了。

你应该看到的结果:

 

 

加分习题

  1. 上网查一下 Python 的 raw_input 实现的是什么功能。

  2. 你能找到它的别的用法吗?测试一下你上网搜索到的例子。

  3. 用类似的格式再写一段,把问题改成你自己的问题。

  4. 和转义序列有关的,想想为什么最后一行 '6\'2"' 里边有一个 \' 序列。单引号需要被转义,从而防止它被识别为字符串的结尾。有没有注意到这一点?

 

习题练习

 1.

参考:http://www.cnblogs.com/testing-way/p/5484122.html

1 a = raw_input ("raw_input: ")
2 b = raw_input (" ")
3 c = raw_input ()
4 d = raw_input ()

Python2 的 raw_input 得到的是 str 类型。参考:http://www.cnblogs.com/hanggegege/p/5840005.html

raw_input  与  input 的区别:

   这两个函数都可以读取用户的输入,不同的是input()函数要求用户输入有效的表达式,而raw_input()函数将用户输入的任意类型数据都转换为一个字符串。

  当输入纯数字时

    >>>raw_input返回字符串类型,string

    >>> input返回的是数值类型,如int、float

   输入字符串表达式时

    >>> input() 会计算字符串中的数字表达式,而raw_input()不会

括号里没有字符:

括号里有字符:

     可见 input 必须输入字符且得符合标准。

 

从 raw_input() 到 input()Python 2.X :

在2.x版本中:    

  raw_input() 会从标准输入(sys.stdin)读取输入值并返回一个字符串,且尾部换行符从末尾移除。    

  input()不同,需要输入有效的表达式,如3+8,'abc'。   

在Python 3中:

  将raw_input()重命名为 input(),这样一来,无需导入也可从标准输入获得数据。如需要保留2.X版本的 input() 功能, 可以使用 eval_r(input()), 效果基本相同。

 

posted @ 2017-07-14 23:47  纟彖氵戋  阅读(256)  评论(0编辑  收藏  举报