测试题(笔试,不能上机哦~):
0. 请用你的话解释一下“迭代”的概念?
答:跑一次循环,就是迭代一次
1. 迭代器是一个容器吗?
答:提供迭代方法的容器是迭代器
2. 迭代器可以回退(获取上一个值)吗?
答:不可以。
3. 如何快速判断一个容器是否具有迭代功能?
答:能不能进行循环处理
4. for 语句如何判断迭代器里边已经取空了?
答:通过try和报错
5. 在 Python 原生支持的数据结构中,你知道哪一个是只能用迭代器访问的吗?
答:tuper
动动手(一定要自己动手试试哦~):
0. 用 while 语句实现与以下 for 语句相同的功能:
- for each in range(5):
- print(each)
1. 写一个迭代器,要求输出至今为止的所有闰年。如:
- >>> leapYears = LeapYear()
- >>> for i in leapYears:
- if i >=2000:
- print(i)
- else:
- break
- 2012
- 2008
- 2004
- 2000
复制代码
提示:闰年判定法((year%4 == 0 and year%100 != 0) or (year%400 == 0))
2. 要求自己写一个 MyRev 类,功能与 reversed() 相同(内置函数 reversed(seq) 是返回一个迭代器,是序列 seq 的逆序显示)。例如:
- >>> myRev = MyRev("FishC")
- >>> for i in myRev:
- print(i, end='')
- ChsiF
本讲总结:
1.next抛出 StopIteration 异常,来判断迭代器是不是空了。
2.set只能使用迭代器访问