题1:
求1+2!+3!+...+20!的和
t = 0
for i in range(1, 21):
x = reduce(lambda x , y: x*y, range(1, i+1))
t += x
print t
题2:递归法求阶乘n!
def Factorial(n):
if n == 1 or n == 0:
return 1
else:
return n*Factorial(n-1)
题3:列表反转
<pre name="code" class="python">法1:for i in range(len(L)-1,-1,-1):
print L[i],
法2:print L[::-1]
例4:
一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程找出1000以内的所有完数。
for j in range(2,1001):
k = []
n = -1
s = j
for i in range(1,j):
if j % i == 0:
n += 1
s -= i
k.append(i)
if s == 0:
print j
for i in range(n):
print (str(k[i])),
print k[n]
例5:排序
L = [4, 8, 3, 5, 6, 9, 1, 2, 7, 0]
for i in range(10):
m = i
for j in range(i+1, 10):
if L[m] > L[j]:
m = j
L[i], L[m] = L[m], L[i]
print L
例6:求一个字符串最后一个单词的长度
data = raw_input("")
print len(data.split()[-1])