# 自定义实现 range功能 (1, 3, 1) # 课堂完善越界的问题 def myRange(start, end, step): # -1 if step > 0 and end > start: start = start - step while start < end: start = start + step if start <= end: yield start else: break pass pass elif step < 0 and end < start: start = start - step while end < start: start = start + step if end <= start: yield start else: break pass else: raise Exception("范围错误") pass # 测试 正步长 for i in myRange(1, 10, 2): print(i) pass # 负步长 for i in myRange(10, 1, -2): print(i) pass # 小数步长 for i in myRange(1.1, 2.1, 0.1): print(i) pass