马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
class MyRange:
def __init__(self, start, end=None, step=1):
if end is not None:
self.start = start
self.end = end
else:
self.start = 0
self.end = start
self.step = step
def __iter__(self):
return self
def __next__(self):
while True:
if self.step > 0:
if self.start < self.end:
current = self.start
self.start += self.step
return current
elif self.step < 0:
if self.start > self.end:
current = self.start
self.start += self.step
return current
else:
raise ValueError("MyRange() step argument must not be zero")
for i in MyRange(10):
print(i)
能实现range的效果 可是执行程序后打印完后 程序一直处于执行状态 无法结束 该如何优化代码呢? |