鱼C论坛

 找回密码
 立即注册

课后作业048讲

已有 397 次阅读2019-12-5 17:10 |个人分类:课后作业

测试题(笔试,不能上机哦~):
0. 请用你的话解释一下“迭代”的概念?
答:跑一次循环,就是迭代一次
1. 迭代器是一个容器吗?
答:提供迭代方法的容器是迭代器
2. 迭代器可以回退(获取上一个值)吗?
答:不可以。
3. 如何快速判断一个容器是否具有迭代功能?
答:能不能进行循环处理
4. for 语句如何判断迭代器里边已经取空了?
答:通过try和报错
5. 在 Python 原生支持的数据结构中,你知道哪一个是只能用迭代器访问的吗?
答:tuper

动动手(一定要自己动手试试哦~):
0. 用 while 语句实现与以下 for 语句相同的功能:


  1. for each in range(5):
  2.     print(each)


1. 写一个迭代器,要求输出至今为止的所有闰年。如:


  1. >>> leapYears = LeapYear()
  2. >>> for i in leapYears:
  3.         if i >=2000:
  4.                 print(i)
  5.         else:
  6.                 break

  7. 2012
  8. 2008
  9. 2004
  10. 2000
复制代码

提示:闰年判定法((year%4 == 0 and year%100 != 0) or (year%400 == 0))


2. 要求自己写一个 MyRev 类,功能与 reversed() 相同(内置函数 reversed(seq) 是返回一个迭代器,是序列 seq 的逆序显示)。例如:

  1. >>> myRev = MyRev("FishC")
  2. >>> for i in myRev:
  3.     print(i, end='')

  4. ChsiF


本讲总结:
1.next抛出 StopIteration  异常,来判断迭代器是不是空了。
2.set只能使用迭代器访问

路过

雷人

握手

鲜花

鸡蛋

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 立即注册

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-10-22 03:07

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

返回顶部