使用 For 循环遍历 python 中的整数,逻辑错误

Iterating through an integer in python using a For Loop, Logic Error

你好,我正在尝试遍历一个整数并打印出它基于 50 的范围。我已经设法完成了任务,但它只适用于不能被 50 整除的数字。请参见下面的示例。我知道我的逻辑在某处不正确,任何帮助查看它不正确的地方都会得到帮助。

代码:

catNum = 244
rangeNum = catNum
counter =0 
for i in range(catNum):
   
    if(counter != 0):
      catNum = rangeNum
      catNum = catNum -1

    rangeNum = rangeNum - 50

    if(rangeNum < 0):
        rangeNum = 0 
        rangeSet = ("%s-%s"%(rangeNum, catNum ))
        print(rangeSet)
        break 
    
    counter +=1
    rangeSet = ("%s-%s"%(rangeNum, catNum ))
    print(rangeSet)

输出:(正确)

194-244
144-143
94-93
44-43
0-43

但是如果catNum可以被50整除例如300 输出:(不正确)

250-300
200-249
150-199
100-149
50-99
0-49
0--1

预计:

250-300
200-249
150-199
100-149
50-99
0-49

如果能帮我看看我的逻辑哪里不对,我们将不胜感激

catNum 也是负数。您应该为 catNip 添加一个条件。使用下面的代码

catNum = 300
rangeNum = catNum
counter =0 
for i in range(catNum):
    if(counter != 0):
      catNum = rangeNum -1

    rangeNum = rangeNum - 50
    if(rangeNum < 0):
        if catNum <= 0:
            break
        rangeNum = 0 
        rangeSet = ("%s-%s"%(rangeNum, catNum ))
        print(rangeSet)
        break 
    else:
        counter +=1
        print( "%s-%s"%(rangeNum, catNum ) )