美文网首页
Day5—作业

Day5—作业

作者: C0mpass | 来源:发表于2018-08-25 10:25 被阅读0次
    1. 控制台输入年龄,根据年龄输出不同的提示。(例如:老年人,青壮年,成年人,未成年,儿童)
    age = int(input("Plaese input age:"))  # 控制台中输入年龄
    
    # 判断输入age的大小
    if age >= 60:
        print('%d岁为老年人' % age)    # 60岁及以上为老年人
    elif age >= 30:
        print('%d岁为中年人' % age)    # 小于60岁大于等于30岁为中年人   
    elif age >= 18:
        print('%d岁为青壮年' % age)    #小于30岁大于等于18岁的人为青壮年
    elif age >= 14:
        print('%d岁为青少年' % age)    #小于18岁大于等于14岁的人为青少年
    else:
        print('%d岁为儿童' % age)     #小于14岁的人为儿童
    

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

    fac = 1
    for i in range(1,6):
        fac *= i
    print('5的阶乘为:' ,fac)
    

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

    sum1 = 0
    fac = 1
    for i in range(1,21):
        fac *= i     # 从1到20,每循环一次,计算一个数的阶乘
        sum1 += fac    # 将每次求出的阶乘相加
    print('1+2!+3!+...+20!的和为:' , sum1)
    

    1. 计算1+1/2!+1/3!+1/4!+...1/20!=?
    sum1 = 0
    fac = 1
    for i in range(1,21):
        fac *= i
        div = 1/fac
        sum1 += div 
    print('1+1/2!+1/3!+1/4!+...1/20!和为:' , sum1)
    

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

    sum1 = 1
    while sum1:
        b = int(input('请输入一个数字:'))
        if not b:
            break  
        else:
            sum1 += b 
    print('输入的数累积和为:' , sum1-1)
    

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

    a = input('请输入一个数字:')
    sum1 = 0
    for i in range(1,int(a)+1):
        str1 = a * i 
        sum1 += int(str1)
    print(sum1)
    

    7.输入三个整数x,y,z,请把这三个数由小到大输出。

    x = input('请输入第一个数:')
    y = input('请输入第二个数:')
    z = input('请输入第三个数:')
    number = [x, y, z]
    
    for i in range(0,2):
        for j in range(i+1,3):
            if number[j] < number[i]:
                temp = number[i]
                number[i] = number[j]
                number[j] = temp
    print(number)
    

    8.控制台输出三角形


    # a.输入N的值,产生相应的三角形
    n = int(input('请输入所产生三角形的长度:'))
    
    while n:
        print('*'*n)
        n -= 1
    
    # b.输入N的值,产生相应的三角形
    n = int(input('请输入所产生三角形的长度(奇数):'))
    m = n
    
    for i in range(1,n+1,2):
        print(' ' * ( m// 2) + '*' * i)
        m -= 2
    

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


    for i in range(1,10):
        for j in range(1,i+1):
            print('%dX%d=%d'  % (j, i, j*i),end=' ')
        else:
            print()
    

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

    for l in range(0,100//3+1):   #大马数量l取值范围
        for m in range(0,100//2+1):    #中马数量m取值范围
            s = 100 - l -m    #小马数量s为100减去大马和小马的数量
            w = l * 3 + m * 2 + s / 2    #计算各个数量马匹的驮货量
            if w == 100:    #满足驮货量正好为100的马匹
                print('大,中,小马数量为:%d匹,%d匹,%d匹' % (l,m,s))
    

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

    for l in range(0,100//5+1):   #公鸡数量l取值范围
        for m in range(0,100//3+1):    #母鸡数量m取值范围
            s = 100 - l -m    #雏鸡数量s为100减去公鸡和母鸡的数量
            w = l * 5 + m * 3 + s / 3    #计算各个数量鸡的价钱
            if w == 100:    #满足价钱正好为100文钱的数量
                print('公鸡,母鸡,雏鸡数量为:%d只,%d只,%d只' % (l,m,s))
    

    1. 小明单位发了100元的购物卡,小明到超市买三类洗化用品,洗发水(15元),香皂(2元),牙刷(5元)。要把100元整好花掉,可如有哪些购买结合?
    for x in range(0,100//15+1):    #洗发水的数量x取值范围
        for y in range(0,100//2+1):    #香皂数量y取值范围
            for z in range(0,100//5+1):    #牙刷数量z取值范围
                p = x * 15 + y * 2 + z *5    #计算各洗化用品数量的价格
                if p == 100:    #满足价钱正好为100
                    print('洗发水,香皂,牙刷数量为:%d,%d,%d' % (x,y,z))
    

    相关文章

      网友评论

          本文标题:Day5—作业

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