学习python的第三天homework3

在这里插入图片描述

  • 第一题
def  main (x,zheng,fu,i,sum1):
    while x!=0:
        x=int(input('请输入一个整数,以输入值0来结束'))
        if (x>0):
            zheng+=1
        elif(x<0):
            fu+=1
        i+=1
        sum1=sum1+x
    if sum1!=0:
        xxx=sum1/(i-1)
        print('输入的正数有%d个,输入的负数有%d个,这组数的和为%d,这组数的平均数为%.2f'%(zheng,fu,sum1,xxx))
    else:
        print('结束')
        return
def start():
        x=1
        zheng=0
        fu=0
        i=0
        sum1=0
        main(x,zheng,fu,i,sum1)
start()
执行结果:
请输入一个整数,以输入值0来结束3
请输入一个整数,以输入值0来结束6
请输入一个整数,以输入值0来结束-1
请输入一个整数,以输入值0来结束4
请输入一个整数,以输入值0来结束0
输入的正数有3个,输入的负数有1个,这组数的和为12,这组数的平均数为3.00

在这里插入图片描述

  • 第二题
 def main(xuefei,sum1):
    for i in range(1,15):
        xuefei=xuefei*0.05+xuefei
        if i==10:
            print('十年以后的学费为:%.2f'%xuefei)
        if i>=10:
            sum1+=xuefei
    print('十年以后四年的总学费为:%.2d'%sum1)
def start():
    xuefei=10000
    sum1=0
    main(xuefei,sum1)
start()
执行结果:
十年以后的学费为:16288.95
十年以后四年的总学费为:90006

在这里插入图片描述

  • 第四题
def main(num_):
    for i in range(100,1001):
        if i%5==0 and i%6==0:
            print(i,end=' ')
            num_+=1
            if num_%10==0:
                print('\n')
def start():
    num_=0
    main(num_)
start()
执行结果:
120 150 180 210 240 270 300 330 360 390

420 450 480 510 540 570 600 630 660 690

720 750 780 810 840 870 900 930 960 990

在这里插入图片描述

  • 第五题
def main():
    m=0
    n=0
    math(m,n)
def math(m,n):
    while m**2<=12000:
        m+=1
    print('n的平方大于12000的最小正整数为:%d'%m)
    while n**3<12000:
        n+=1
    print('n的立方大于12000的最小正整数为:%d'%n)
main()
执行结果:
n的平方大于12000的最小正整数为:110
n的立方大于12000的最小正整数为:23

在这里插入图片描述

  • 第七题
def start():
    num1=0
    num2=0
    main(num1,num2)
def main(num1,num2):
    for i in range(1,5001):
        num1+=1/i
        i+=1
    print('从左往右的和为:',num1)
    for i in range(50000,0,-1):
        num2+=1/i
        i-=1
    print('从右往左的和为:',num2)
start()
执行结果:
从左往右的和为: 9.094508852984404
从右往左的和为: 11.397003949278519

在这里插入图片描述

  • 第八题
sum_=0
for i in range(1,98):
    sum_+=i/(i+2)
print(sum_)
执行结果:89.64524496472076

在这里插入图片描述

  • 第九题
def start():
    pi=0
    i=int(input('请输入i的值'))
    main(pi,i)
def main(pi,i):
    for k  in range(1,i+1):
        pi+=4*((-1)**(1+k)/(2*k-1))
    print('π的值为:%f'%pi)
start()
执行结果:
请输入i的值10000
π的值为:3.140593
请输入i的值20000
π的值为:3.141543
请输入i的值100000
π的值为:3.141583

在这里插入图片描述

  • 第十题
for i in range(1,10000):
    x=0
    for j in range(1,i):
        if i%j==0:
            x+=j
    if x==i:
        print('10000以下的完全数有:%d'%x)
  执行结果:
10000以下的完全数有:6
10000以下的完全数有:28
10000以下的完全数有:496
10000以下的完全数有:8128

在这里插入图片描述

  • 第十一题
list1=[]
for i in range(1,8):
    for j in range(1,8):
        if i!=j and sorted([i,j]) not in list1:
            list1.append([i,j])
print('所有可能的组合为:',list1)
print('组合总个数为:',len(list1))
执行结果:
所有可能的组合为: [[1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [3, 4], [3, 5], [3, 6], [3, 7], [4, 5], [4, 6], [4, 7], [5, 6], [5, 7], [6, 7]]
组合总个数为: 21

在这里插入图片描述

  • 第十二题
import numpy as np 
arr=[]
i=1
while i<=10:
    x=float(input('请输入十个数字:'))
    arr.append(x)
    i+=1
arr_mean=np.mean(arr)
arr_var=np.var
print('平均值为:%f'%arr_mean)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值