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))


请输入第1个整数,以回车结束。1
请输入第2个整数,以回车结束。2
请输入第3个整数,以回车结束。3
最终的和是: 9

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()


请输入相加次数:3
a= 5
sum= 615

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))


he = 45

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))


min = 0

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))


请输入一个整数,回车结束2
location = 3

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)


请输入向量所在空间的维数,2或3: 2
请输入向量a的一个坐标1
请输入向量a的一个坐标1
请输入x坐标1
请输入x坐标1
a=  [1, 1] b=  [1, 1]
[1, 1] 和  [1, 1] 夹角的余弦值是:  1.0

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)


3741