zoukankan      html  css  js  c++  java
  • 《Python核心编程》第二版第36页第二章练习 Python核心编程答案自己做的

    《Python核心编程》第二版第36页第二章练习
    这里列出的答案不是来自官方资源,是我自己做的练习,可能有误。

    2.21 练习

    2-1.
    变量,print和字符串格式化操作符。启动交互式解释器,给一些变量赋值(字符串,数值等)并通过输入变量名显示他们的值。再用print语句做同样的事。这两者有何区别?也尝试着使用字符串格式操作符%,多做几次,慢慢熟悉它。
    【答案】
    对于一个字符串,在仅使用变量名时,输出的字符串是用单引号括起来了的。这是为了让非字符串对象也能以字符串的方式显示在屏幕上,即它显示的是该对象的字符串表示,而不仅仅是字符串本身。如果使用print命令,能使输出更加友好。

    2-2.
    程序输出。阅读下面的Python脚本。
    #!/usr/bin/env python
    1 + 2 * 4
    (a)你认为这段脚本是用来做什么的?
    (b)你认为这段脚本会输出什么?
    (c)输入以上代码,并保存为脚本,然后运行它,它所做的与你的预期一样吗?为什么一样/不一样?
    (d)这段代码单独执行和在交互解释器中执行有何不同?试一下,然后写出结果。
    (e)如何改进这个脚本,以便它能和你想象的一样工作?
    【答案】
    用来计算。
    会输出9,如果是在WINDOWS系统和Ubuntu系统。
    如果仅仅是以上代码的脚本,是没有输出的。
    在交互解释器中执行以后得到结果9。
    如果需要将其在脚本中执行并得到期望结果,需要改成 print 1 + 2 * 4 即可。

    2-3.
    数值和操作符。启动交互解释器,使用Python对两个数值(任意类型)进行加、减、乘、除运算。然后使用取余操作符来得到两个数相除的余数,最后使用乘方操作符求A数的B次方。
    【答案】
    略。
    请注意Python的除法,在3.0以下的版本中,有所谓True除法和地板除。
    当使用x/y形式进行除法运算时,如果x和y都是整形,那么运算的会对结果进行截取,取运算的整数部分。
    >>> print 5 / 3
    1
    如果x和y中有一个是浮点数,那么会进行True除法。
    >>> print 5 / 3.
    1.66666666667
    所谓floor除法,采用x//y的形式,得到不大于结果的最大整数值,这个运算时与操作数无关的。
    >>> print -5 // 3
    -2
    >>> print -5 // 3.
    -2.0

    2-4.
    使用raw_input()函数得到用户输入。
    (a)创建一段脚本使用raw_input()内建函数从用户输入得到一个字符串,然后显示这个用户刚刚键入的字符串。
    (b)添加一段类似的代码,不过这次输入的是数值。将输入数据转换为一个数值对象,(使用int()或其他数值转换函数)并将这个值显示给用户看(注意,如果你用的是早于1.5的版本,你需要使用string.ato*()函数执行这种转换)。
    【答案】
    (a)代码如下:
    >>> a = raw_input("Please input a string ... ")
    Please input a string ... 99
    >>> print a
    99
    (b)代码如下:
    >>> a = raw_input("Please input a letter ... ")
    Please input a letter ... b
    >>> print ord(a)
    98

    2-5.
    循环和数字。分别使用while和for创建一个循环。
    (a)写一个while循环,输出整型为0~10(要确保是0~10,而不是0~9或1~10)。
    (b)做同(a)一样的事,不过这次使用range()内建函数。
    【答案】
    (a)for循环代码如下:
    >>> for i in 'abcdefghijk':
    ...     print ord(i)-97,
    ...
    0 1 2 3 4 5 6 7 8 9 10
    (a)while循环代码如下:
    >>> i = 0
    >>> while ( i < 11 ):
    ...     print i,
    ...     i = i + 1
    ...
    0 1 2 3 4 5 6 7 8 9 10
    (b)代码如下:
    >>> for i in range(0,11):
    ...     print i,
    ...
    0 1 2 3 4 5 6 7 8 9 10

  • 相关阅读:
    window.open()被浏览器拦截问题汇总
    如何快速判断页面是服务端渲染还是客户端渲染
    前端标注软件-pxcook像素大厨使用心得
    nodejs 实践:express 最佳实践(四) express-session 解析
    webpack 精华文章
    数据库 join
    $.ajax 中的contentType
    nodejs 实践:express 最佳实践(二) 中间件
    漂亮的代码6:增加字符串后的数字
    走马观花看语言总纲
  • 原文地址:https://www.cnblogs.com/balian/p/1931050.html
Copyright © 2011-2022 走看看