在python中使用For循环迭代整数,逻辑错误

在python中使用For循环迭代整数,逻辑错误,python,for-loop,integer,Python,For Loop,Integer,您好,我正在尝试遍历一个整数,并打印出基于50的范围。我已经完成了这项任务,但它只适用于不能被50整除的数字。见下面的例子。我知道我的逻辑在某个地方是不正确的,如果有人能帮我找出错误的地方,我们将不胜感激 代码: 但是如果catNum可以被50整除,例如300 输出:(不正确) 预期: 250-300 200-249 150-199 100-149 50-99 0-49 如果能帮我找出我的逻辑不正确的地方,我们将不胜感激。您还应该为catNum添加一个条件。使用下面的代码 catNum = 3

您好,我正在尝试遍历一个整数,并打印出基于50的范围。我已经完成了这项任务,但它只适用于不能被50整除的数字。见下面的例子。我知道我的逻辑在某个地方是不正确的,如果有人能帮我找出错误的地方,我们将不胜感激

代码:

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

预期:

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

如果能帮我找出我的逻辑不正确的地方,我们将不胜感激。您还应该为catNum添加一个条件。使用下面的代码

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 ) )
catNum=300
rangeNum=catNum
计数器=0
对于范围内的i(catNum):
如果(计数器!=0):
catNum=rangeNum-1
rangeNum=rangeNum-50
如果(rangeNum<0):

如果catNumcatNum也是负值。您还应该为catNum添加一个条件。使用下面的代码

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 ) )
catNum=300
rangeNum=catNum
计数器=0
对于范围内的i(catNum):
如果(计数器!=0):
catNum=rangeNum-1
rangeNum=rangeNum-50
如果(rangeNum<0):

如果catNum我不明白其中的逻辑。有些范围由50个数字(
250-300
)组成,而有些范围在预期输出中是49个(
150-199
)。第一次迭代是50个,其余的是49个。我不了解其中的逻辑。有些范围由50个数字组成(
250-300
),而有些范围在预期输出中是49个(
150-199
)。第一次迭代是50个,其余是49个
250-300
200-249
150-199
100-149
50-99
0-49
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 ) )