In [1]:
#将前面几章用while循环的习题,用for循环实现,并尽量写成函数。
## 求m!+n!+k!
def compute_ji(end):
i = 0
ji = 1
for i in range(end):
i = i + 1
ji = ji * i
return ji
n = int(input('请输入第1个整数,以回车结束。'))
m = int(input('请输入第2个整数,以回车结束。'))
k = int(input('请输入第3个整数,以回车结束。'))
print('最终的和是:', compute_ji(m) + compute_ji(n) + compute_ji(k))
In [2]:
import random,math
def sum():
n = int(input('请输入相加次数:'))
a = random.randint(1,9)
print('a=',a)
b = a
i = 0
sum = 0
for i in range(n):
sum = sum + a
i = i+1
a = a + b * pow(10,i)
print('sum=',sum)
sum()
In [16]:
#写函数,返回一个list中所有数字的和
import math
def he(list):
he = 0
for i in list:
he = he + i
return he
list = [i for i in range(10)]
print('he =',he(list))
In [17]:
#写函数,返回一个list中的最小值
import math
def min(list):
min = list[0]
for i in list:
if i < min:
min = i
return(min)
list = [i for i in range(10)]
print('min =',min(list))
In [22]:
#写函数,返回某个元素/对象在一个list中的位置,如果不在,则返回-1.
import math
def location(list):
n = int(input('请输入一个整数,回车结束'))
l = len(list)
if n in list:
i = 0
for k in range(l):
i = i + 1
if n == list[k]:
break
return(i)
else:
return(-1)
list = [i for i in range(10)]
print('location =',location(list))
In [1]:
#写函数,可求两个向量的夹角余弦值,向量可放在list中
def cos(a,b):
if len(a)==len(b):
aCb=0
a2=0
b2=0
for i in range(len(a)):
aCb+=a[i]*b[i]
a2+=a[i]**2
b2+=b[i]**2
print(a,'和 ',b,'夹角的余弦值是: ',aCb/((a2* b2)**0.5))
a=[]
b=[]
n=int(input('请输入向量所在空间的维数,2或3: '))
j=0
for i in range(n):
for j in range(n):
if i==0:
a.append(int(input('请输入向量a的一个坐标')))
else:
b.append(int(input('请输入x坐标')))
print('a= ',a,'b= ',b)
cos(a,b)
In [23]:
#挑战性习题
n=0
for i in range(5,91):
for j in range(5,91):
for k in range(5,91):
if 100==i+j+k:
n=n+1
print(n)