我正在做一个排序程序。我有两个文件,名为冒泡(一个气泡排序程序)和cal_time(计算时间),它们位于同一个目录中。
问题是,泡泡能很好地独立工作。但是,当我将气泡导入到我的cal_time文件和回调气泡排序时,解释器会向我显示错误消息,显然我的代码中没有built_in函数或方法:
追溯(最近一次调用):文件"F:/alogrithm/wzysort/cal_time.py",第13行,bubble.bubble_sort(generate_random_list())文件"F:\alogrithm\wzysort\bubble.py“中的第4行,bubble_sort if aindx > aindx+1: TypeError: unorderable type: builtin_function_or_method() > builtin_function_or_method()
cal_time.py:
import time
from wzysort import bubble
import random
def generate_random_list():
result = []
for i in range(10):
result.append(random.random)
return result
time_start = time.time()
bubble.bubble_sort(generate_random_list())
time_end = time.time()
print(time_end - time_start)bubble.py:
def bubble_sort(a):
for i in range(len(a)-1):
for indx in range(len(a[:-i-1])):
if a[indx] > a[indx+1]:
a[indx], a[indx + 1] = a[indx + 1], a[indx]发布于 2016-10-09 01:02:10
你的问题在于:
result.append(random.random)您正在将方法random.random附加到列表中,- which的类型为builtin_function_or_method (因此导致正在接收的错误--您将如何比较函数?)
相反,您需要调用该方法:
result.append(random.random())发布于 2016-10-09 01:21:31
在generate_random_list()函数中,您正在执行random.random。因为它是一个函数,所以您应该将它写成random.random()。因此,generate_random_list()函数的代码应该是:
def generate_random_list():
result = []
for i in range(10):
result.append(random.random())
return resulthttps://stackoverflow.com/questions/39938890
复制相似问题