第2章 变量、表达式和语句
练习 2-1:在交互模式中故意犯错(2)
【习题 2.1.1】 我们已经见过 n = 42 是合法的。那么 42 = n 呢?
【求解】
>>> 42 = n
File "<stdin>", line 1
SyntaxError: can't assign to literal
序号 | 报错 | 含义 |
---|---|---|
6 | SyntaxError: can’t 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);print(y)
1
1
【习题 2.1.4】 如果在语句结尾放的是句号呢?
【求解】
>>> print(x).
File "<stdin>", line 1
print(x).
^
SyntaxError: invalid syntax
序号 | 报错 | 含义 |
---|---|---|
3 | SyntaxError: invalid syntax | 语法错误:无效语法 |
【习题 2.1.5】 在数学标记中,对于 x 乘以 y,可以这么表达:xy。在Python中这样尝试会有什么结果?
【求解】
>>> x = 2
>>> y = 4
>>> xy
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'xy' is not defined
序号 | 报错 | 含义 |
---|---|---|
5 | NameError: name ‘HolleWorld’ is not defined | 命名错误:命名没有被定义 |
练习 2-2:解释器牌计算器(球体积、书总价、晨练到家时间)
【习题 2.2.1】 半径为 rrr 的球体的体积是(4/3)πr3(4/3)πr^{3}(4/3)πr3。半径为 555 的球体体积是多少?
【求解】
>>> (4.0/3)*3.14*5**3
523.3333333333334
【习题 2.2.2】 假设一本书的定价是24.95美元,但是书店打了40%的折扣(6折)。运费是一本3美元,每加一本加75美分。60本书的总价是多少?
【求解】
>>> 24.95*(1-0.4)*60+3+0.75*(60-1)
945.4499999999999
【习题 2.2.3】 如果我 06:52 时离开家,并以慢速(6分10秒/千米)跑1.6千米,接下来以4分30秒/千米的速度跑4.8千米,再以慢速跑1.6千米。请问我回家吃早餐时什么时候?
【求解】
时:
>> 6+1
7
分:
>>> (52+((6*60+10)*1.6*2+(4*60+30)*4.8-((6*60+10)*1.6*2+(4*60+30)*4.8)%60)/60)%60
33.0
秒:
>>> 0+((6*60+10)*1.6*2+(4*60+30)*4.8)%60
20.0