>source

안녕하세요 저는 정수를 반복하고 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

그러나 만약catNum50으로 균등하게 나눌 수 있습니다 (예 : 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

내 논리가 잘못된 곳을 보는 데 도움을 주시면 감사하겠습니다.

  • 답변 # 1

    catNum도 음수입니다. 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 ) )
    
    

관련 자료

  • 이전 apache spark - pyspark - 입력 파일에서 오는 레코드 병합
  • 다음 reactjs - react (typescript)의 상태 설정에 문제가 있습니다