出什么问题了?
我甚至在开始时就尝试过这样做以获得输出
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))
没有错误。 我猜只是驱动程序代码不起作用,没有输出。
答案 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">