def seq_search(items:list,item:'被查找对象') -> int:
for index,value in enumerate(items):
if item == value:
return index
return -1
def bin_search(items:list,item):
first,end=0,len(items)
while first<=end:
a=(first+end)//2
if item < items[a]:
end=a-1
elif item > items[a]:
first=a+1
else:
return a
return -1
a=[1,2,3,4,5,6]
print(seq_search(a,5))
print(bin_search(a,3))
def bubble_sort(sorts:list) -> list:
for i in range(len(sorts)-1):
for j in range(len(sorts)-1-i):
if sorts[j] > sorts[j+1]:
sorts[j],sorts[j+1]=sorts[j+1],sorts[j]
return sorts
lm=[9,1,5,4,3,7,6]
print(bubble_sort(lm))
def bubble_sort1(sorts:list,comp=lambda x,y:x>y):
for i in range(len(sorts)-1):
for j in range(len(sorts)-1-i):
if comp(sorts[j],sorts[j+1]):
sorts[j],sorts[j+1]=sorts[j+1],sorts[j]
return sorts
'''
comp=lambda x,y:x>y #:前面为参数,后面为返回值
等价于:
def comp(x,y):
return x>y
'''
xy=[9,1,5,4,3,7,6]
print(bubble_sort1(xy))
xz=[1,5,2,6,3,9,7]
xz.sort()
print(xz)
xz.sort(reverse=True)
print(xz)
def fac(num):
assert num>=0
if num==0:
return 1
return num * fac(num-1)
print(fac(7))
def fib(num,result={}):
if num in (1,2):
return 1
result[num]=fib(num-1)+fib(num-2)
return result[num]
print(fib(15))
names = ['关羽', '张飞', '赵云', '马超', '黄忠']
courses = ['语文', '数学', '英语']
scores = [[None] * len(courses) for _ in range(len(names))]
for row, name in enumerate(names):
for col, course in enumerate(courses):
scores[row][col] = float(input(f'请输入{name}的{course}成绩: '))
print(scores)
def quick_sort(num:list):
if len(num)<=1:
return num
less = []
greater = []
basenum = num.pop()
for x in range(len(num)):
if num[x] <= basenum:
less.append(num[x])
else:
greater.append(num[x])
return quick_sort(less) + [basenum] + quick_sort(greater)
lists=[4,8,1,3,7,9,65,41]
print(quick_sort(lists))