我的代码正在运行,但是没有输出,这是什么问题?

时间:2019-07-03 09:47:07

标签: python pycharm

出什么问题了?

我甚至在开始时就尝试过这样做以获得输出

print("enter list elements")
arr = input()


def AlternateRearr(arr, n):

    arr.sort()

    v1 = list()
    v2 = list()

    for i in range(n):
        if (arr[i] % 2 == 0):
            v1.append(arr[i])

        else:
            v2.append(arr[i])

        index = 0
        i = 0
        j = 0
        Flag = False
 #set value to true is first element is even
        if (arr[0] % 2 == 0):
            Flag = True

#rearranging
        while(index < n):

            #if 1st elemnt is eevn
            if (Flag == True):
                arr[index] = v1[i]
                index += 1
                i+=1
                Flag = ~Flag

            else:
                arr[index] = v2[j]
                index +=1
                j += 1
                Flag = ~Flag


        for i in range(n):
            print(arr[i], end = "" )

            arr = [9, 8, 13, 2, 19, 14]
            n = len(arr)
            AlternateRearr(arr, n)
            print(AlternateRearr(arr))

没有错误。 我猜只是驱动程序代码不起作用,没有输出。

3 个答案:

答案 0 :(得分:2)

  

无输出

它唯一可以输出任何内容的地方是print(AlternateRearr(arr))。但是,让我们看一下AlternateRearr本身-它返回什么?

AlternateRearr的任何地方都没有return语句,因此print将显示None。好吧,这是某事,不是完全没有...


但是代码无论如何都无法到达这一部分-如果这样做,则会抛出错误,因为print(AlternateRearr(arr))仅将一个参数传递给带有2个参数的函数AlternateRearr。您没有为n设置默认值,因此它将不起作用。


好的,所以我们得出的结论是我们仍然没有达到print。但是为什么?因为你从不叫它。您只定义它,它与调用它是不同的。

如果只是尝试在普通代码附近调用它,则可能会遇到问题-Python是一种解释型语言,因此您的主代码(未包含在函数中)应位于文件的底部,因为它不会知道下面的任何东西。

答案 1 :(得分:0)

这是您的完整代码吗? 因为您确实有一个名为AlternateRearr的函数,但您从未调用过它

答案 2 :(得分:0)

调用该函数,还传递整数以进行迭代。 在函数之后添加:

<local:PlaceholderValidationRule ValidationStep="UpdatedValue">