为什么计数器代码每次计数都添加额外的行?

why counter code add extra line every count?

这段代码有什么问题 每次向上或向下计数时都会添加额外的行 我怎样才能防止这种情况发生以及为什么会发生这种情况?

def counter(start, stop):
    x = start
    if start > stop:
        return_string = "Counting down: "
        while x >= stop:
            return_string += str(x)
            x = x-1 
            if start != stop:
                return_string += ","
            print(return_string)
    else:
        return_string = "Counting up: "
        while x <= stop:
            return_string += str(x)
            x = x + 1 
            if start != stop:
                return_string += ","
            print(return_string)
    return return_string

print(counter(1, 10)) # Should be "Counting up: 1,2,3,4,5,6,7,8,9,10"
print(counter(2, 1)) # Should be "Counting down: 2,1"
print(counter(5, 5)) # Should be "Counting up: 5"

使用这个:

def counter(start, stop):
    x = start
    if start > stop:
        return_string = "Counting down: "
        while x >= stop:
            return_string += str(x)
            x = x-1
            if start != stop:
                return_string += ","
        print(return_string)
    else:
        return_string = "Counting up: "
        while x <= stop:
            return_string += str(x)
            x = x + 1
            if start != stop:
                return_string += ","
        print(return_string)
    return return_string
def counter(start, stop):
    x = start 
    if x>stop:
        return_string = "Counting down: "
        while x >= stop:
            return_string += str(x) 
        if x>stop:
            return_string += "," 
            x = x - 1
        else:
            return_string = "Counting up: " 
            while x <= stop: 
                return_string += str(x) 
                if x<stop:
                    return_string += "," 
                    x = x + 1
        return return_string

使用这个:

def counter(start, stop):
x = start
if start > stop:
    return_string = "Counting down: "
    while x >= stop:
        return_string += str(x)
        x = x-1
        if x >= stop:
            return_string += ","
else:
    return_string = "Counting up: "
    while x <= stop:
        return_string += str(x)
        x = x + 1
        if x <= stop:
            return_string += ","
return return_string
def counter(start, stop):
    x = start
    if start > stop:
        return_string = "Counting down: "
        while x >= stop:
            return_string += str(x)
            if x != stop:
                return_string += ","
            x = x - 1

    else:
        return_string = "Counting up: "
    while x <= stop:
        return_string += str(x)
        if x != stop:
            return_string += ","
        x = x + 1

    return return_string

这是一个:

def counter(start, stop):
    x = start
    if start>stop:

        return_string = "\"Counting down: "
        while x >= stop:
            return_string += str(x)
            x=x-1
            if x>=stop:
                return_string += ","
        return_string += '"'
    else:
        return_string = "\"Counting up: "
        while x <= stop:
            return_string += str(x)
            x=x+1
            if x<=stop:
                return_string += ","
        return_string += '"'
    return return_string

您可以在此处使用此代码。 这将打印出没有尾随逗号的结果。

def counter(start, stop):
x = start
if x > stop:
    return_string = "Counting down: "
    while x >= stop:
        return_string += str(x)
        x = x-1
        if start != stop:
            return_string += ","
            return_string.rstrip(',')
else:
    return_string = "Counting up: "
    while x <= stop:
        return_string += str(x)
        x = x + 1
        if start != stop:
            return_string += ","
return return_string.rstrip(',')
def counter(start, stop):
x = start
if start > stop:
    return_string = "Counting down: "
    while x >= stop:
        return_string += str(x)
        if x != stop :
            return_string += ","
        x -= 1
else:
    return_string = "Counting up: "
    while x <= stop:
        return_string += str(x)
        if x != stop:
            return_string += ","
        x += 1
return return_string

print(counter(1, 10)) # Should be "Counting up: 1,2,3,4,5,6,7,8,9,10"
print(counter(2, 1)) # Should be "Counting down: 2,1"
print(counter(5, 5)) # Should be "Counting up: 5"

#这行得通

def counter(start, stop):
    x = start
    if start > stop:
        return_string = "Counting down: "
        while x >= stop:
            return_string += str(x)
                if x != stop :
                    return_string += ","
                x = x - 1
        
    else:
         return_string = "Counting up: "
         while x <= stop:
             return_string += str(x)
             if x != stop:
                   return_string += ","
             x = x + 1
        
    return return_string
def counter(start, stop):
    x = start
    if x> stop:
        return_string = "Counting down: "
        while x >= stop:
            return_string += str(x)
            if x >= stop:
                return_string += ","
            x-=1
   else:
        return_string = "Counting up: "
        while x <= stop:
           return_string += str(x)
        
            if x <= stop:
                return_string += ","
            x+=1
    return return_string