0.请问 1 + 2 / 3 跟 1 + 2 // 3 的结果有何不同?
答:类型不同。前者返回一个浮点数结果,后者返回一个整数结果。注意,对于真除法(/)来说,无论是否结果为整数,都是使用浮点数类型来存放计算结果。
1.无论是真除法(/)还是地板除(//),都需要注意的一个问题是什么?
答:除数不能为 0。
*2.请问 1 ± 2 -+ 3 -4 /+ 5,计算结果是?
答:1 ± 2 -+ 3 *-4 /+ 5=1.4
3.pow(3, 4, 5) 的含义是?
答:3的4次方幂运算的结果与5取余,结果为1。
4.(x // y) * y + (x % y) 的结果是什么?
答:(x // y) * y + (x % y) ==X
5.如果给 int() 函数传入一个浮点数参数,那么 int() 是简单暴力地将小数部分裁掉(比如 int(9.99) 的结果等于 9)……可是我们更习惯的是使用“四舍五入”的方式来取整。如果不借助其它函数,你能够单纯使用 int() 函数来实现吗?
答:只需要将 int() 函数的参数 +0.5 即可实现四舍五入。
6.改写程序,实现以下结果:
i = 0
sum = 0
while i <= 1000000:
if i % 2 == 0:
sum = sum + i
i = i + 1
print(“1000000 以内所有偶数的和是”, sum)
7.舍罕王的失算
故事背景:相传国际象棋是古印度舍罕王的宰相达依尔发明的。
舍罕王十分喜爱国际象棋,便决定让宰相自己选择何种赏赐。这位聪明的宰相指着 8×8 共 64 格的象棋棋盘说:陛下,请您赏给我一些麦子吧。就在棋盘的第 1 格中放 1 粒,第 2 格放 2 粒,第 3 格放 4 粒,以后每一格都比前一格增加一倍,依此放完棋盘上 64 格,我就感激不尽了……
舍罕王听了达依尔这个“小小”的要求,便让人扛来一袋麦子,他要兑现许诺。结果,在给达依尔发放麦子时,舍罕王发现他要给达依尔的麦子比自己想象的要多得多,一袋麦子是远远不够的……
请编程计算舍罕王应该给达依尔多少粒麦子?
i = 1
sum = 0
while i <= 64:
wheats = pow(2, i-1)
sum = sum + wheats
i = i + 1
print(“舍罕王应该给达依尔”, sum, “粒麦子!”)
<<<舍罕王应该给达依尔 18446744073709551615 粒麦子!