欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > python >内容正文

python

[Python]小甲鱼Python视频第048课(魔法方法:迭代器) )课后题及参考解答

发布时间:2024/4/17 python 42 豆豆
生活随笔 收集整理的这篇文章主要介绍了 [Python]小甲鱼Python视频第048课(魔法方法:迭代器) )课后题及参考解答 小编觉得挺不错的,现在分享给大家,帮大家做个参考.
# -*- coding: utf-8 -*- """ Created on Sun Mar 24 20:24:02 2019@author: fengs """"""0. 请用你的话解释一下“迭代”的概念?重复相同的操作,将上一次操作的输出时的状态当次本次操作的输入状态1. 迭代器是一个容器吗?不是,迭代是一个计算得出后续状态的过程(__next__()),容器是已经存在,去取就行。2. 迭代器可以回退(获取上一个值)吗?不能3. 如何快速判断一个容器是否具有迭代功能?isinstance(a,itera)是否有 __iter__()和 __next__() 魔法方法4. for 语句如何判断迭代器里边已经取空了?接管了迭代已经停止的异常,遇到迭代停止异常就认为是取空5. 在 Python 原生支持的数据结构中,你知道哪一个是只能用迭代器访问的吗.无序的集合 """""" 0. 用 while 语句实现与以下 for 语句相同的功能: for each in range(5):print(each)""" iter_range = iter(range(5)) while True:try:each = next(iter_range);print(each)except StopIteration:break""" 1. 写一个迭代器,要求输出至今为止的所有闰年。如 >>> leapYears = LeapYear() >>> for i in leapYears:if i >=2000:print(i)else:break2016W 2012 2008 2004 2000 """ import time class LeapYear():def __init__(self):self.year = time.localtime().tm_year#print(self.year)def isLeap(self,year):if (year % 4 == 0 and year%100 != 0 ) or (year % 400 == 0):return Trueelse:return Falsedef __iter__(self):return selfdef __next__(self):while True:if self.isLeap(self.year) == False:self.year -= 1else:breaktmp = self.year;self.year -= 1return tmp;print('---------------------------------') leapYears = LeapYear() for i in leapYears:if i >=2000:print(i)else:break print('---------------------------------')""" 2. 要求自己写一个 MyRev 类,功能与 reversed() 相同(内置函数 reversed(seq) 是返回一个迭代器,是序列 seq 的逆序显示)。例如: >>> myRev = MyRev("FishC") >>> for i in myRev:print(i, end='')ChsiF """class MyRev():def __init__(self,value):self.value = value;self.idx = len(self.value)def __iter__(self):return selfdef __next__(self):self.idx -= 1if self.idx >= 0:return self.value[self.idx]else:raise StopIterationmyRev = MyRev("FishC") print('------------------') for i in myRev:print(i, end='') print('\n------------------')

  

转载于:https://www.cnblogs.com/alimy/p/10590751.html

总结

以上是生活随笔为你收集整理的[Python]小甲鱼Python视频第048课(魔法方法:迭代器) )课后题及参考解答的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。