一、alex多大了
def alex(n):
if n == 4:
return 40
else:
return alex(n+1)+2
print(alex(1)) # 46
def jiec(n):
if n == 1:
return 1
else:
return n*jiec(n-1)
print(jiec(3)) # 6
def feib(n):
if n == 1 or n == 2:
return 1
else:
return feib(n-1) + feib(n-2)
print(feib(33)) # 3524578
四、二分查找def erfen(l,aim,start = 0,end = None):
if end == None:
end = len(l) - 1
if start <= end:
mid = (end - start)//2 + start
if l[mid] < aim:
return erfen(l,aim,start,mid-1)
elif l[mid] > aim:
return erfen(l,aim,mid+1,end)
else:
return aim,mid
else:
print('找不到')
l = [1,2,4,59,60,78,90]
print(erfen(l,59))
def f(m):
while True:
for i in m:
print(i)
choice = input('選擇:')
if choice == 'q' or choice == 'b':
return choice
elif choice in m and m[choice]:
borq = f(m[choice])
if borq == 'q':
return 'q'
print(f(menu))