python版本:3.6
好久没有更新博客了,这次跳过第七章和第六章,因为我们老师跳过直接讲第八章
# -*- coding: utf-8 -*-
def fact(n):
#return 1 if n==1 or n==0 else fact(n-1)*n
#递归
r=1
for i in range(1,n+1):r*=i
return r
#非递归
n=int(input('请输入整数n(n>=0):'))
print('%d!=%d'%(n,fact(n)))
讲真,递归的阶乘我好多章前就实现了(微笑),于是我把它注释掉了
# -*- coding: utf-8 -*-
def fib(n):
s=[1,1]
for i in range(n):
s.append(s[-1]+s[-2])
for i in range(n):
print('%5d'%s[i],end='')
if (i+1)%10==0:print()
fib(20)
#非递归
def fib2(n):
return 1 if n==0 or n==1 else fib2(n-1)+fib2(n-2)
for i in range(20):
print('%5d'%fib2(i),end='')
if (i+1)%10==0:print()
#递归
# -*- coding: utf-8 -*-
def min_n(a,b,*c):
if c:#空的元组判断为FALSE
r=min(c)
return min(a,b,r)
else:return min(a,b)
print('最小值为:',min_n(8,2))
print('最小值为:',min_n(16,1,7,4,15))
结果和书上一样,我就不放图了
# -*- coding: utf-8 -*-
def t8_4(s):
ma=max(s)
mi=min(s)
l=len(s)
return (ma,mi,l)
s1=[9,7,8,3,2,1,55,6]
s2=['apple','pear','melon','kiwi']
s3='TheQuickBrownFox'
print('list=',s1)
print(str.format('最大值={},最小值={},元素个数={}',t8_4(s1)[0],t8_4(s1)[1],t8_4(s1)[2]))
print('list=',s2)
print(str.format('最大值={},最小值={},元素个数={}',t8_4(s2)[0],t8_4(s2)[1],t8_4(s2)[2]))
print('list=',s3)
print(str.format('最大值={},最小值={},元素个数={}',t8_4(s3)[0],t8_4(s3)[1],t8_4(s3)[2]))