我正在嘗試編寫一個程序,該程序創建一個隨機列表,對該列表進行排序,然後詢問用戶5個號碼並使用二進制搜索以顯示消息號碼是否在列表中。我收到錯誤消息BubbleSort(ran_list) Type Error:ran_list not defined
。任何幫助將有所幫助,我認爲ran_list
明確定義在createList
函數中。詢問用戶5個號碼,並顯示一條消息,說明號碼是否在列表中
def createList():
import random
ran_list=[]
for n in range(50):
numbers=random.randint(1,100)
ran_list.append(numbers)
return ran_list
def myBubbleSort(ran_list):
for i in range(len(ran_list),0,-1):
for j in range(0,i-1):
if ran_list[j]>ran_list[j+1]:
temp=ran_list[j]
ran_list[j]=ran_list[j+1]
ran_list[j+1]=temp
return ran_list
def myBinarySearch(value,ran_list):
low=0
high=len(ran_list)-1
pos=-1
while low<=high and pos==-1:
mid=(low+high)//2
if ran_list[mid]<value:
low=mid+1
elif ran_list[mid]>value:
high=mid-1
else:
pos=mid
return pos
'' ' 主程序 '''
createList()
myBubbleSort(ran_list)
for i in range(5):
value=int(input("Please enter a number: "))
myBinarySearch(value,num_list)
if pos==-1:
print("The number is not in the list")
else:
print("The number is in the list")
您還沒有定義'ran_list'在你的主程序中。 –