In [2]:
#写函数,返回一个list中所有数字的和

def a(): 
    numbers =[2,3,4,6,7,3,5,4,8,2,9]
    i=0
    sum=0
    for i in numbers:
        sum=sum+i
        i=i+1
    return sum

print(a())


53

In [3]:
#写函数,返回一个list中的最小值

def a():
    numbers=[2,34,5,6,7,23,67,10,9]
    i=0
    b=numbers[1]
    for i in numbers:
        if(b>i):
            m=b
            b=i
            i=m
    return b

print(a())


2

In [2]:
#写函数,返回某个元素/对象在一个list中的位置,如果不在,则返回-1

def a():
    numbers=[2,3,5,7,9,45,60,6]
    n=int(input("请输入一个元素:"))
    for i in range(0,len(numbers)):
        if n==numbers[i]:
            m=1
            break
        else:
            m=0
    if m==1:
        return i+1
    else:
        return -1

print(a())


请输入一个元素:3
2

In [3]:
#将前面几章用while循环的习题,用for循环实现,并尽量写成函数。

def compute_pro(end):
    i = 1
    factor_n = 1
    for i in range(1,end):
        i = i + 1
        factor_n = factor_n*i
    return factor_n

n = int(input('请输入第1个整数,以回车结束。'))
m = int(input('请输入第2个整数,以回车结束。'))
k = int(input('请输入第3个整数,以回车结束。'))

print(compute_pro(m) + compute_pro(n) + compute_pro(k))


请输入第1个整数,以回车结束。4
请输入第2个整数,以回车结束。2
请输入第3个整数,以回车结束。3
32

In [24]:
#将前面几章用while循环的习题,用for循环实现,并尽量写成函数。

def compute_sum(end):
    import math
    n=0
    i = 1
    total_n = 0
    for i in range(1,end):
        total_n = total_n + 1/i*math.pow(-1,n)
        i = i + 2
        n=n+1
    return total_n

print(compute_sum(1000))
print(compute_sum(100000))


0.6936474305598223
0.6931521805849815

In [3]:
#写函数,可求两个向量的夹角余弦值,向量可放在list中。主程序调用该函数

def a(x,y):
    if(len(x)!=len(y)):
        print('error input,x and y is not in the same space')
        return
    result1=0.0
    result2=0.0
    result3=0.0
    for i in range(len(x)):
        result1+=x[i]*y[i]  
        result2+=x[i]**2    
        result3+=y[i]**2    
    print(result1/((result2*result3)**0.5))
    
a([2,7],[6,3])


0.6757246285173463

In [4]:
#python语言老师为了激励学生学python,自费买了100个完全相同的Macbook Pro,分给三个班级,每个班级至少分5个,用穷举法计算共有多少种分法?

x=0
for i in range(5,85):
    for j in range(5,85):
        for k in range(5,85):
            if(i+j+k==100):
                x=x+1

print (x)


3678

In [ ]: