《Think Python 2e》作业实现(二): 变量、表达式和语句

《Think Python 2e》作业实现(二): 变量、表达式和语句



这是什么?

这里是《Think Python 2e》作业实现 !在这里将记录《Think Python 2e》作业的练习记录、终端信息和结果分析。

  • 这是《Think Python 2e》哪个版本的作业?
    《Think Python:如何像计算机科学家一样思考》第二版。这里主要参考了一个中文网页版《Think Python 2e》中译本
  • 可以当成《Think Python 2e》参考答案吗?
    这里主要记录了我自己完成作业时所产生的成果及习题总结,基本未参考教材所提供的答案,未免有失规范,参考答案建议还是以 绿茶出版社官方代码 为准。
  • 不同的解释器版本结果不尽相同,这里用的哪个版本Python解释器?
    这里用了Python 3.8.6版解释器,部分用安卓Pydroid 4.01_arm64中的3.8.3版Python解释器,在线解释器用教程推荐的PythonAnywhere中的3.8版Python解释器。

习题2-1:在交互模式中故意犯错

【习题 2.1.1】 42 = n 合法吗?

  • 练习记录:
>>> 42 = n
  File "<stdin>", line 1
SyntaxError: cannot assign to literal
  • 终端信息:
序号 终端信息 含义
1 SyntaxError: cannot assign to literal 不能赋值给文字
  • 结果分析:只能把后面的值赋值给前面的变量,而数字是无效的变量名

【习题 2.1.2】 那么 x = y = 1呢?

  • 练习记录:
>>> x = y = 1
>>> x
1
>>> y
1
  • 结果分析:同时为两个变量赋值是可以的

【习题 2.1.3】 有些语言中,每个语句都需要以分号(;)结尾。如果你在 Python 语句的结尾放一个分号,会有什么情况?

  • 练习记录:
>>> x = y = 1
>>> print(x);
1
>>> print(x); print(y)
1
1
  • 结果分析:Python语句用分号(;)结尾,解释器就解析成分号后的内容为另一个语句

【习题 2.1.4】 如果在语句结尾放的是句号(.)呢?

  • 练习记录:
>>> print(x); print(y).
  File "<stdin>", line 1
    print(x); print(y).
                     ^
SyntaxError: invalid syntax
  • 终端信息:
序号 终端信息 含义
1 SyntaxError: invalid syntax 无效语法
  • 结果分析:Python语句中不能用句号(.)结尾

【习题 2.1.5】 在数学标记中,对于 x 乘以 y,可以这么表达:xy。在Python中这样尝试会有什么结果?

  • 练习记录:
>>> x = 2
>>> y = 4
>>> x * y
8
>>> xy
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'xy' is not defined
>>> x y
  File "<stdin>", line 1
    x y
      ^
SyntaxError: invalid syntax
  • 终端信息:
序号 终端信息 含义
1 NameError: name ‘xy’ is not defined xy未定义
2 SyntaxError: invalid syntax 无效语法
  • 结果分析:解释器把xy 解析成一个新的未定义或者赋值的值,而把x y解析成两个值,所以是无效的语法

习题2-2:用Python解释器做计算器

【习题 2.2.1】 半径为 r r r 的球体的体积是 ( 4 / 3 ) π r 3 π r ^ 3 πr3。半径为 5 的球体体积是多少?

  • 练习记录:
>>> (4 / 3) * 3.14 * 5**3
523.3333333333334

【习题 2.2.2】 假设一本书的定价是24.95美元,但是书店打了40%的折扣(6折)。运费是一本3美元,每加一本加75美分。60本书的总价是多少?

  • 练习记录:
>>> 24.95 * ((100 - 40) / 100) * 60 + 3 + .75*59
945.4499999999999

【习题 2.2.3】 如果我上午6:52离开家, 以放松跑的速度跑1英里(每英里耗时8分15秒),再以 节奏跑的速度跑3英里(每英里耗时7分12秒),之后又以放松跑的速度跑1英里,我什么时候回到家吃早饭?

  • 练习记录:
>>> 6 * 3600 + 52 * 60 + (8 * 60 + 15) + (7 * 60 + 12) * 3 + (8 * 60 + 15)
27006
>>> 27006 // 3600
7
>>> (27006 - 7 * 3600) // 60
30
>>> 27006 - 7 * 3600 - 30 * 60
6
  • 结果分析:
    • 到家吃早饭时间为7时30分6秒
    • //为整除运算符

猜你喜欢

转载自blog.csdn.net/weixin_41217917/article/details/110393365