def my_range(*args): li = [] if len(args)>3 or len(args)<1: raise ValueError if len(args)==1: k=1.0 a=0.0 while a<=args[0]: yield a a+=k elif len(args)==2: k=1.0 a=args[0] while a<=args[1]: yield a a+=k elif len(args)==3: a = args[0] k = args[2] if args[2]==0.0: raise ValueError elif args[2]>0: while a <= args[1]: yield a a += k else: while a >= args[1]: yield a a += k def main(): try: for i in my_range(2): print(i) for i in my_range(2,3): print(i) for i in my_range(1.1,2.2,0.5): print(i) for i in my_range(): print (i) except: print ("Zla wartosc") if __name__=='__main__': main() try: for i in my_range(2): print i for i in my_range(2,3): print i for i in my_range(1.1,2.2,0.5): print i for i in my_range(): print i except: print "Zla wartosc"