日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

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

發布時間:2024/4/17 python 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [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课(魔法方法:迭代器) )课后题及参考解答的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。