3つの機能を構築する必要があります。1 つ目は挿入ソート、2 つ目は 0 ~ 1 の間の乱数のリストの生成、3 つ目は乱数のリストを作成し (2 つ目の関数を使用)、それらを並べ替える必要があります (1 つ目の関数を使用)。関数の引数ではなく、最終的にテストを変更することはできません。func 3 に問題がありますNameError: global name 'my_list' is not defined
。他の関数は正常に動作しますが、3番目のどこが間違っていますか? *最初の関数は何も返すことができません。
ありがとう!
私のコード:
def insertion_sort(lst):
for i in range(1,len(lst)):
current=lst[i]
j=i-1
while j>=0:
if current < lst[j]:
lst[j+1] = lst[j]
lst[j] = current
j-=1
else:
break
def random_list(n):
import random
my_list=[]
for i in range(n):
my_list.append (random.random ())
return my_list
def sorted_random_list(n):
random_list(n)
insertion_sort(my_list)
### TEST FUNCTION - DON'T CHANGE THIS ####
def test_sorted(lst):
print lst == sorted(lst) and len(lst) > 0
def test_len(lst, length):
print len(lst)==length
def sort_and_test(lst):
lst = lst[:]
insertion_sort(lst)
test_sorted(lst)
sort_and_test([13,54,3434,88,334,6,8,84,57,4,2,4,6,6])
sort_and_test(["dog","cat","cow","zebra","frog","bat","spider","monkey"])
sort_and_test(["hi","hello","how are you","what your doing"])
test_len(random_list(10), 10)
lst = sorted_random_list(10)
test_len(lst, 10)
test_sorted(lst)