import random def random_list(n): result = [] ids = list(range(1001,1001+n)) a1 = ["赵","钱","孙","李","周","吴","郑","王","冯","陈","褚","卫","蒋","沈","韩","杨","朱","秦","尤","许","何","吕","施","张"] a2 = ["","明","俊","辞","泽","鹏","振","镇","苗","华","国","澄","邈","德","泽","海","超","曦","阳","荣","逸","昌","钰","玥""菲","雯","嘉","麟","芸","希","瀚"] a3 = ["克","智","诚","宇","华","","杰","天","锋","巍","荣","凯","海","瑶","涵","雅","晨","曦","麟","炜","茜","萱","玥","菲","雯","嘉","麟","芸","希","瀚"] for i in range(n): age = random.randint(18,60) id = ids [i] name = random.choice(a1)+random.choice(a2)+random.choice(a3) dict = {"id":id,"name":name,"age":age} result.append(dict) return result ''' 输入学生id,输出该学生在列表中的下标,并输出完整学生信息 ''' def bin_search(data_set,val): low = 0 high = len(data_set) - 1 while low <= high : mid = (low + high) // 2 if data_set[mid]["id"] == val: return data_set[mid] elif data_set[mid]["id"] > val: high = mid - 1 else: low = mid + 1 return userlist = random_list(100) u = bin_search(userlist,1051) print(u)