美文网首页
2018-08-25 Day5作业

2018-08-25 Day5作业

作者: Ftr_ | 来源:发表于2018-08-25 13:54 被阅读0次

    1.控制台输入年龄,根据年龄输出不同的提示
    (例如:老年人,青壮年,成年人,未成年,儿童)

    import random
    age=int(input("请输入年龄:  "))
    if age>59:
      print('老年人')
    elif 59>=age>39:
      print('青壮年')
    elif 39>=age>=18:
      print('成年人')
    elif 18>age>=10:
      print('未成年')
    else:
      print('儿童')
    """
    请输入年龄:  67
    老年人
    """
    

    2.计算5的阶乘 5!的结果是

    sum1=1
    for x in range(1,6):
        sum1*=x
    print('5!为:%d'%(sum1))
    """
    5!为:120
    """
    

    3.求1+2!+3!+...+20!的和 1.程序分析:此程序只是把累加变成了累乘。

    sum1=1
    sum2=0
    for x in range(1,21):
        sum1*=x
        sum2+=sum1
    print('和为:%d'%(sum2))
    """
    和为:2561327494111820313
    """
    

    4.计算 1+1/2!+1/3!+1/4!+...1/20!=?

    sum1=1
    sum2=0
    for x in range(1,21):
        sum1*=1/x
        sum2+=sum1
    print('结果为:%f'%(sum2))
    """
    结果为:1.718282
    """
    

    5.循环输入大于0的数字进行累加,直到输入的数字为0,就结束循环,并最后输出累加的结果。

    import random
    cont=0
    sum1=0
    while True:
        cont=int(input("请输入一个正整数并以0为结束位:"))
        if cont>=0:
            sum1+=cont
            if(cont==0):
                print('上述数字累加和为:%d'%(sum1))
                break
        else:
            print('输入错误')
            break
    
    结果

    6.求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。
    例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
    1.程序分析:关键是计算出每一项的值。

    while True:
        num=0
        sum1=0
        m=int(input("请输入单个你喜欢的数字(0~9):"))
        n=int(input('你希望这个数是多少位数算和?'))
        for x in range(0,n):
            num=m*(10**x)+num
            sum1+=num
            print(num)
        print('和:%d'%sum1)
        break
    
    结果
    7.输入三个整数x,y,z,请把这三个数由小到大输出。
    import random
    a=0
    x=input("输入整数x值为:")
    y=input("输入整数y值为:")
    z=input("输入整数z值为:")
    if x>y:
        a=x
        x=y
        y=a
    if x>z:
        a=x
        x=z
        z=a
    if y>z:
        a=y
        y=z
        z=a
    print(x,y,z)
    
    结果
    8.
    """
    a.根据n的值的不同,输出相应的形状
    n = 5时             n = 4
    *****               ****
    ****                ***
    ***                 **
    **                  *
    *
    """
    import random
    n=int(input("请输入n值:"))
    sum1='*'
    for n in range(n,0,-1):
        sum1='*'*n
        print(sum1)
    
    结果为:
    n = 5
    *****
    ****
    ***
    **
    *
    
    """
    b.根据n的值的不同,输出相应的形状(n为奇数)
    n = 5               n = 7
      *                    *
     ***                  ***
    *****                *****
                        *******
    """
    import random
    n=int(input("请输入一个数:"))
    for x in range(1,n+1,2):
        str1='*'*x
        print(str1.center(n,' '))
    
    结果为:
    n = 7
       *
      ***
     *****
    *******
    
    

    9.输出9*9口诀。1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列。

    for i in range(1,10):
        for j in range(1,i+1):
            if (j==3 and j*i<=9) or (j==2 and j*i<=9):
                print('%dx%d=0%d '%(j,i,j*i),end=' ')
            elif(j==1):
                print('%dx%d=0%d '%(j,i,j*i),end=' ')
            else:
                print('%dx%d=%d '%(j,i,j*i),end=' ')
        print()
    
    结果

    10.这是经典的"百马百担"问题,有一百匹马,驮一百担货,大马驮3担,中马驮2担,两只小马驮1担,问有大,中,小马各几匹?

    b=0
    m=0
    s=0
    for x in range(1,101):
        b=x
        for y in range(1,101):
            m=y
            for z in range(1,101):
                s=z
                if(3*x+2*y+0.5*z==100 and b+m+s==100):
                    print('大马数为:%d,中马数为:%d,小马数为:%d'%(x,y,z))
    """
    大马数为:2,中马数为:30,小马数为:68
    大马数为:5,中马数为:25,小马数为:70
    大马数为:8,中马数为:20,小马数为:72
    大马数为:11,中马数为:15,小马数为:74
    大马数为:14,中马数为:10,小马数为:76
    大马数为:17,中马数为:5,小马数为:78
    """
    

    11.我国古代数学家张邱建在《算经》中出了一道“百钱买百鸡”的问题,题意是这样的: 5文钱可以买一只公鸡,3文钱可以买一只母鸡,1文钱可以买3只雏鸡。现在用100文钱买100只鸡,那么各有公鸡、母鸡、雏鸡多少只?请编写程序实现。

    g=0
    m=0
    c=0
    for x in range(1,101):
        g=x
        for y in range(1,101):
            m=y
            for z in range(1,101):
                c=z
                if(g+m+c==100 and 5*g+3*m+(1/3)*c==100):
                    print('公鸡有:%d只,母鸡有:%d只,雏鸡有:%d只'%(g,m,c))
    """
    公鸡有:4只,母鸡有:18只,雏鸡有:78只
    公鸡有:8只,母鸡有:11只,雏鸡有:81只
    公鸡有:12只,母鸡有:4只,雏鸡有:84只
    """
    

    12.小明单位发了100元的购物卡,小明到超市买三类洗化用品,洗发水(15元),香皂(2元),牙刷(5元)。要把100元整好花掉,可如有哪些购买结合?

    xfs=0
    xz=0
    ys=0
    for x in range(1,51):
        xfs=x
        for y in range(1,51):
            xz=y
            for z in range(1,51):
                ys=z
                if(15*xfs+2*xz+5*ys==100):
                    print('洗发水:%d件,香皂:%d只,牙刷:%d件'%(xfs,xz,ys))
    """
    洗发水:1件,香皂:5只,牙刷:15件
    洗发水:1件,香皂:10只,牙刷:13件
    洗发水:1件,香皂:15只,牙刷:11件
    洗发水:1件,香皂:20只,牙刷:9件
    洗发水:1件,香皂:25只,牙刷:7件
    洗发水:1件,香皂:30只,牙刷:5件
    洗发水:1件,香皂:35只,牙刷:3件
    洗发水:1件,香皂:40只,牙刷:1件
    洗发水:2件,香皂:5只,牙刷:12件
    洗发水:2件,香皂:10只,牙刷:10件
    洗发水:2件,香皂:15只,牙刷:8件
    洗发水:2件,香皂:20只,牙刷:6件
    洗发水:2件,香皂:25只,牙刷:4件
    洗发水:2件,香皂:30只,牙刷:2件
    洗发水:3件,香皂:5只,牙刷:9件
    洗发水:3件,香皂:10只,牙刷:7件
    洗发水:3件,香皂:15只,牙刷:5件
    洗发水:3件,香皂:20只,牙刷:3件
    洗发水:3件,香皂:25只,牙刷:1件
    洗发水:4件,香皂:5只,牙刷:6件
    洗发水:4件,香皂:10只,牙刷:4件
    洗发水:4件,香皂:15只,牙刷:2件
    洗发水:5件,香皂:5只,牙刷:3件
    洗发水:5件,香皂:10只,牙刷:1件
    """
    

    相关文章

      网友评论

          本文标题:2018-08-25 Day5作业

          本文链接:https://www.haomeiwen.com/subject/kjuwiftx.html