为什么我的程序在 运行 时不输出命令 window 中的任何内容?
Why does my program not output anything in the command window when I run it?
所以我定义了一个冒泡排序函数,但是当我尝试 运行 它时,我只得到一个空白控制台 window。我觉得它真的很愚蠢,比如语法错误,但我无法确定。这是代码:
def bubble(arr):
swap = True
while (swap == True):
swap = False
for i in range(len(arr)-1):
temp = arr[i]
if arr[i]> arr[i+1]:
temp = arr[i+1]
arr[1] = arr[i+1]
swap = True
array = ["AB","AAB","AAA"]
print (bubble(array))
input()
这是一个更有可能起作用的冒泡函数。
def bubble(arr):
swap = True
while (swap == True):
swap = False
for i in range(len(arr)-1):
if arr[i]> arr[i+1]:
arr[i], arr[i+1] = arr[i+1], arr[i]
swap = True
return arr
您原来的气泡功能存在各种问题。
- 你的函数不return任何东西,所以
print(bubble(array))
总是输出None
- 您的第二个
swap = True
语句位置不当,在 while 循环的每一步都执行,导致无限循环
- 你写了
arr[1] = arr[i+1]
而不是 arr[i] = arr[i+1]
,忘记了第二部分交换。在 python 中,您可以交换两个值而不需要 temp
变量,这就是我所做的。
所以我定义了一个冒泡排序函数,但是当我尝试 运行 它时,我只得到一个空白控制台 window。我觉得它真的很愚蠢,比如语法错误,但我无法确定。这是代码:
def bubble(arr):
swap = True
while (swap == True):
swap = False
for i in range(len(arr)-1):
temp = arr[i]
if arr[i]> arr[i+1]:
temp = arr[i+1]
arr[1] = arr[i+1]
swap = True
array = ["AB","AAB","AAA"]
print (bubble(array))
input()
这是一个更有可能起作用的冒泡函数。
def bubble(arr):
swap = True
while (swap == True):
swap = False
for i in range(len(arr)-1):
if arr[i]> arr[i+1]:
arr[i], arr[i+1] = arr[i+1], arr[i]
swap = True
return arr
您原来的气泡功能存在各种问题。
- 你的函数不return任何东西,所以
print(bubble(array))
总是输出None
- 您的第二个
swap = True
语句位置不当,在 while 循环的每一步都执行,导致无限循环 - 你写了
arr[1] = arr[i+1]
而不是arr[i] = arr[i+1]
,忘记了第二部分交换。在 python 中,您可以交换两个值而不需要temp
变量,这就是我所做的。