肚脐开心 2022-04-28 16:31 采纳率: 72.2%
浏览 40
已结题

python设计一个类, 类中一个列表

要求该类的实例化对象为可迭代对象,并要求每次调用next函数时,自动输出data中当前元素与下一个元素的和(假如data中有10个元素,那么肯定只能输出前9项的操作结果),并在抛出异常后对异常进行处理,输出"All elements are printed."

请问这个要怎么写?

  • 写回答

3条回答 默认 最新

  • 溪风沐雪 2022-04-28 16:49
    关注

    给个简单的例子参考:

    class MyClass():
        def __init__(self, lst):
            self.lst = lst
            self.index = 0
            self.length = len(lst) 
        
        def next(self):
            if self.index<self.length-1:
                print(self.lst[self.index]+self.lst[self.index+1])
                self.index += 1
            else:
                print('All elements are printed')
    
    if __name__=='__main__':
        lst = [0,1,2,3,4,5,6,7,8,9]
        mc = MyClass(lst)
        for i in range(len(lst)):
            mc.next()
    
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 5月6日
  • 已采纳回答 4月28日
  • 创建了问题 4月28日