第008讲
1、请问 6 / 2 的结果是一个整数还是浮点数呢?
Python 除法的运算结果是以浮点数的形式存储的(尽管结果可以整除)。
2、请问下面代码存在什么问题?
>>> age = 18
>>> message = "祝小甲鱼" + age + "岁生日快乐^o^"
字符串和整数是不能相加的。
message = "祝小甲鱼" + str(age) + "岁生日快乐^o^"
3、请问在 Python 中,浮点数 1.0 + 2.0 是否等值于整数 3?
是的。当浮点数相加的结果等于整数时,偏差则不会出现,比如 0.1 + 0.2 会出现偏差。
4、表达式 0.1 + 0.1 + 0.1 - 0.3 看似乎很傻,小学生都会,但 Python 可能搞不定,如下图所示,结果是一个非常奇葩的数值……请使用恰当的方式计算出正确的结果。
>>> import decimal
>>> a = decimal.Decimal('0.1')
>>> b = decimal.Decimal('0.3')
>>> print(a + a + a - b)
% 0.0
009
1、请问 1 + 2 / 3 跟 1 + 2 // 3 的结果有何不同?
前者返回一个浮点数结果,后者返回一个整数结果。注意,对于真除法(/)来说,无论是否结果为整数,都是使用浮点数类型来存放计算结果。
2、无论是真除法(/)还是地板除(//),都需要注意的一个问题是什么?
除数不为0.
3、pow(3, 4, 5) 的含义是?
3 ** 4 % 5 的结果。
如果 pow() 函数传入第 3 个参数,那么会将幂运算的结果和第 3 个参数进行取余数运算。
4、 (x // y) * y + (x % y) 的结果是什么?
x。
地板除的结果乘以除数 + 余数 = 被除数。
5、如果给 int() 函数传入一个浮点数参数,那么 int() 是简单暴力地将小数部分裁掉(比如 int(9.99) 的结果等于 9)……可是我们更习惯的是使用“四舍五入”的方式来取整。如果不借助其它函数,你能够单纯使用 int() 函数来实现吗
只需要将 int() 函数的参数 +0.5 即可实现四舍五入。
第015讲
Python通过缩进区分代码块。
0、 其实,大多数 if - else 条件分支还可以使用 and - or 运算符组合的表达式来代替,那么如果将下面代码转变成 and - or 来实现,应该是怎样的呢?
if C:
X
else:
Y
# C and X or Y
1、输出语句:
print(n, "*3+1 = ", n * 3 + 1, sep='')
# n = 5时
# 5*3+1 = 16