In [ ]:
#1.写函数,返回一个list中所有数字的和
#2.写函数,返回一个list中的最小值
#3.写函数,返回某个元素/对象在一个list中的位置,如果不在,则返回-1.
#4.写函数,可求两个向量的夹角余弦值,向量可放在list中。主程序调用该函数。
#5.挑战性习题:python语言老师为了激励学生学python,自费买了100个完全相同的Macbook Pro,分给三个班级,每个班级至少分5个,用穷举法计算共有多少种分法?
In [8]:
#练习1.写函数,返回一个list中所有数字的和
def sum_of_list(n):
numbers=[]
Sum = 0
for i in range(n):
number = int(input('请输入一个数字,回车结束。'))
numbers.append(number)
Sum+=numbers[i]
print('以上',n,'个数字的和为:')
return Sum
sum_of_list(5)
Out[8]:
In [11]:
#练习2.写函数,返回一个list中的最小值
def min_of_list(n):
numbers = []
for i in range(n):
number = int(input('请输入一个数字,回车结束。'))
numbers.append(number)
Min = numbers[0]
for i in range(n):
if(numbers[i]<Min):
Min=numbers[i]
print('以上',n,'个数字中最小的为:')
return Min
min_of_list(5)
Out[11]:
In [12]:
#练习3.写函数,返回某个元素/对象在一个list中的位置,如果不在,则返回-1.\n",
def position(n):
lists = ['you',1,'are','the',3]
j=0
print(n,'在列表中的位置是:')
for i in range(len(lists)):
if(n==lists[i]):
j=1
return i+1
if(j==0):
return -1
position('the')
Out[12]:
In [16]:
#练习4.写函数,可求两个向量的夹角余弦值,向量可放在list中。主程序调用该函数。
import math
def cos_of_vectors():
list1 = []
list2 = []
i=0
j=0
for i in range(3): #第一个向量的x,y,z
vector1 = int(input('请输入向量1的坐标,回车结束。(分别是x,y,z)'))
list1.append(vector1)
for j in range(3): #第二个向量的x,y,z
vector2 = int(input('请输入向量2的坐标,回车结束。(分别是x,y,z)'))
list2.append(vector2)
dianji=list1[0]*list2[0]+list1[1]*list2[1]+list1[2]*list2[2]
mo = (math.sqrt(list1[0]**2+list1[1]**2+list1[2]**2))*(math.sqrt(list2[0]**2+list2[1]**2+list2[2]**2))
print ("两个向量夹角的余弦值为:")
return dianji/mo
cos_of_vectors()
Out[16]:
In [30]:
#练习5.挑战性习题:python语言老师为了激励学生学python,自费买了100个完全相同的Macbook Pro,分给三个班级,每个班级至少分5个,用穷举法计算共有多少种分法?
num=0
for i in range(100):
for j in range(100):
for k in range(100):
if(i>=5 and j>=5 and k>=5 and i+j+k==100):
num+=1
print (num)