零基础学习Python 作业 第6章

---恢复内容开始---

0 Python 的 floor 除法现在使用 “//” 实现,那 3.0 // 2.0 您目测会显示什么内容呢?

如果回答是 1.5 那么很遗憾,您受到 C 语言的影响比较大,Python 这里会义无反顾地执行 floor 除法原则,答案是:1.0 floor(向下取整)

 

1 a < b < c 事实上是等于?

(a < b) and (b < c)

 

2. 不使用 IDLE,你可以轻松说出 5 ** -2 的值吗?

 0.04,也就是 1/25

幂运算操作符比其左侧的一元操作符优先级高,比其右侧的一元操作符优先级低

 

3. 如何简单判断一个数是奇数还是偶数?

 使用求余可以简单得到答案:能被 2 整除为偶数,所以 x % 2 == 0,否则为奇数。  %取余

 

4. 请用最快速度说出答案:not 1 or 0 and 1 or 3 and 4 or 5 and 6 or 7 and 8 and 9

not or and 的优先级是不同的:not > and > or

 我们按照优先级给它们加上括号:(not 1) or (0 and 1) or (3 and 4) or (5 and 6) or (7 and 8 and 9)

== 0 or 0 or 4 or 6 or 9

== 4

 大家还记得第四讲作业提到的“短路逻辑”吗?3 and 4 == 4,而 3 or 4 == 3。

所以答案是:4

 温馨提示:为了更好的表达你的程序,小甲鱼再次呼吁有些括号还是不能省下的,毕竟不是所有程序员都跟你一样都将优先级烂透于心的。

5. 还记得我们上节课那个求闰年的作业吗?如果还没有学到“求余”操作,还记得用什么方法可以“委曲求全”代替“%”的功能呢

 因为上节课我们还没有教大家“求余”的操作,所以小甲鱼使用了“if year/400 == int(year/400)”这样的方式来“委曲求全”。

因为int()是向下取整,故使用int(year/4)

动动手

0. 请写一个程序打印出 0~100 所有的奇数。

1. i = 0

2. while i <= 100:

  1. 3.     if i % 2 != 0:
  2. 4.         print(i, end=' ')
  3. 5.         i += 1
  4. 6.     else:
  5. 7.         i += 1

复制代码

For 循环 :

for i in range(0,101):
    if i%2 !=0:
        print(i)

1. 我们说过现在的 Python 可以计算很大很大的数据,但是......真正的大数据计算可是要靠刚刚的硬件滴,不妨写一个小代码,让你的计算机为之崩溃?

 

print(4 ** 32)

2 爱因斯坦曾出过这样一道有趣的数学题:有一个长阶梯,若每步上2阶,最后剩1阶; 
若每步上3阶,最后剩2阶;若每步上5阶,最后剩4阶;若每步上6阶,最后剩5阶; 
只有每步上7阶,最后刚好一阶也不剩。(小甲鱼温馨提示:步子太大真的容易扯着蛋~~~)

题目:请编程求解该阶梯至少有多少阶?

 

  1. x = 7
  2. i = 1
  3. flag = 0
  4.  
  5. while i <= 100:
  6.     if (x%2 == 1) and (x%3 == 2) and (x%5 == 4) and (x%6==5):
  7.         flag = 1
  8.     else:
  9.         x = 7 * (i+1) # 根据题意,x一定是7的整数倍,所以每次乘以7
  10. 10.     i += 1
  11. 11.  

12. if flag == 1:

  1. 13.     print('阶梯数是:', x)

14. else:

  1. 15.     print('在程序限定的范围内找不到答案!')

 

i = 0
while 1:
if i%2==1 and i%3==2 and i%5==4 and i%6==5 and i%7==0:
print(i)
break
else:
i += 1
posted @ 2018-09-20 10:17  蘑菇慢慢  阅读(162)  评论(0)    收藏  举报