In [1]:
#写函数,求n个随机整数均值的平方根,整数范围在m与k之间
import random , math

n=int(input('请输入随机整数的个数'))
m=int(input('请输入随机整数的下界'))
k=int(input('请输入随机整数的上界'))

i=0
total=0
for i in range(n):
    number=random.randint(m,k)
    print(number)
    i+=1
    
numbers=[]
numbers.append(number)

for number in numbers:
    total+=number
    print(math.sqrt(total))


请输入随机整数的个数3
请输入随机整数的下界1
请输入随机整数的上界5
2
1
5
2.23606797749979

In [11]:
#写函数,共n个随机整数,整数范围在m与k之间,(n,m,k由用户输入)。求1:西格玛log(随机整数),2:西格玛1/log(随机整数)
import random , math

n=int(input('请输入随机整数的个数'))
m=int(input('请输入随机整数的下界'))
k=int(input('请输入随机整数的上界'))

i=0

for i in range(n):
    number=random.randint(m,k)
    print(number)
    i+=1

numbers=[]
numbers.append(number)

for number in numbers:
    total_1=0
    total_1+=math.log(number)
    total_2=0
    total_2+=1/math.log(number)
    
def my_sum():
    print(total_1)
    print(total_2)
    
my_sum()


请输入随机整数的个数2
请输入随机整数的下界4
请输入随机整数的上界7
6
4
1.3862943611198906
0.7213475204444817

In [8]:
#写出由用户指定整数个数,并由用户输入多个整数,并求和的代码

n=int(input('请输入一个整数作为所有整数的个数'))

i=0
numbers=[]

for i in range(n)
    number=int(input('请输入一个整数'))
    numbers.append(number)
    i+=1

total=0
for number in numbers:
    total+=number
print(total)


请输入一个整数作为所有整数的个数3
请输入一个整数1
请输入一个整数2
请输入一个整数3
6

In [14]:
#写程序,可由键盘读入两个整数m与k(n不等于0),询问用户意图,
#如果要求和则计算从m到k的和输出,
#如果要乘积则计算从m到k的积并输出,
#如果要求余数则计算m除以k的余数的值并输出,
#否则则计算m整除k的值并输出

k=int(input('请输入一个整数作为下界'))
m=int(input('请输入一个整数作为上界'))


n=int(input('求和,输入0;求积,输入1;求余数,输入2;否则,整除'))

if n==0:
    total=0
    for i in range(k,m+1):
        total+=i
    print(total)

elif n==1:
    total=1
    for i in range(k,m+1):
        total=total*i
    print(total)

elif n==2:
    print(m%k)
    
else:
    print(m//k)


请输入一个整数作为下界3
请输入一个整数作为上界6
求和,输入0;求积,输入1;求余数,输入2;否则,整除0
18

In [27]:
#仿照求$ \sum_{i=1}^mi + \sum_{i=1}^ni  + \sum_{i=1}^ki$的完整代码,写程序,可求m!+n!+k!
def total(end):
    
    i = 1
    total_n = 1

    for i in range(end):
        total_n = total_n * (i+1)

    return total_n

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

print('最终的和是:', total(m) + total(n) + total(k))


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

In [40]:
#写程序,可以求从整数m到整数n累加的和,间隔为k,求和部分需用函数实现,主程序中由用户输入m,n,k调用函数验证正确性。

m=int(input('请输入一个整数作为下界'))
n=int(input('请输入一个整数作为上界'))
k=int(input('请输入一个整数作为间隔'))

total=0
for i in range(m,n+1,k):
    total+=i
    
print(total)


请输入一个整数作为下界1
请输入一个整数作为上界5
请输入一个整数作为间隔2
9

In [42]:
#写函数可返回1 - 1/3 + 1/5 - 1/7...的前n项的和。在主程序中,分别令n=1000及100000,打印4倍该函数的和
def my_sum(n):
    total=0
    for i in range(1,n+1,2):
        total+=1/(2*i-1)-1/(2*i+1)
    print(total*4)
    
my_sum(10000)
my_sum(1000)


3.1414926535900367

In [3]:
#挑战性习题:python语言老师为了激励学生学python,自费买了100个完全相同的Macbook Pro,
#分给三个班级,每个班级至少分5个,用穷举法计算共有多少种分法?
for i in range(0,101):
    for j in range(0,101):
        print(5+i,5+j,90-i-j)


5 5 90
5 6 89
5 7 88
5 8 87
5 9 86
5 10 85
5 11 84
5 12 83
5 13 82
5 14 81
6 5 89
6 6 88
6 7 87
6 8 86
6 9 85
6 10 84
6 11 83
6 12 82
6 13 81
6 14 80
7 5 88
7 6 87
7 7 86
7 8 85
7 9 84
7 10 83
7 11 82
7 12 81
7 13 80
7 14 79
8 5 87
8 6 86
8 7 85
8 8 84
8 9 83
8 10 82
8 11 81
8 12 80
8 13 79
8 14 78
9 5 86
9 6 85
9 7 84
9 8 83
9 9 82
9 10 81
9 11 80
9 12 79
9 13 78
9 14 77
10 5 85
10 6 84
10 7 83
10 8 82
10 9 81
10 10 80
10 11 79
10 12 78
10 13 77
10 14 76
11 5 84
11 6 83
11 7 82
11 8 81
11 9 80
11 10 79
11 11 78
11 12 77
11 13 76
11 14 75
12 5 83
12 6 82
12 7 81
12 8 80
12 9 79
12 10 78
12 11 77
12 12 76
12 13 75
12 14 74
13 5 82
13 6 81
13 7 80
13 8 79
13 9 78
13 10 77
13 11 76
13 12 75
13 13 74
13 14 73
14 5 81
14 6 80
14 7 79
14 8 78
14 9 77
14 10 76
14 11 75
14 12 74
14 13 73
14 14 72

In [2]:
for i in range(3):
    for j in range(3):
        for k in range(2):
            print(i, j, k, '=', i*j*k)


0 0 0 = 0
0 0 1 = 0
0 1 0 = 0
0 1 1 = 0
0 2 0 = 0
0 2 1 = 0
1 0 0 = 0
1 0 1 = 0
1 1 0 = 0
1 1 1 = 1
1 2 0 = 0
1 2 1 = 2
2 0 0 = 0
2 0 1 = 0
2 1 0 = 0
2 1 1 = 2
2 2 0 = 0
2 2 1 = 4