美文网首页
Day-6国庆作业提高篇

Day-6国庆作业提高篇

作者: 留级是不可能留级的 | 来源:发表于2018-10-06 20:15 被阅读0次

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

    age=eval(input('请输入年龄:'))
    while(age<0):
        age=eval(input('请输入年龄:'))
    if 0<=age<12:
        print("儿童")
    elif age<18:
        print("未成年")
    elif age<30:
        print("青壮年")
    else:
        print("老年人")
    

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

    sum1=1
    for x in range(1,6):
        sum1*=x
    print("%d" %(sum1))
    

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

    sum1=1
    number=0
    for x in range(1,21):
        for y in range(1,x+1):
            sum1*=y
        number+=sum1
        sum1=1
    print("%d" %(number))
    

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

    sum1=1
    number=0
    for x in range(1,21):
        for y in range(1,x+1):
            sum1*=y
        sum1=1/sum1
        number+=sum1
        sum1=1
    print("%.20f" %(number))
    

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

    n=eval(input("输入数字"))
    sum1=0
    while n!=0:
        sum1=sum1+n
        n=eval(input())
    print("%d" %(sum1))
    

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

    n=(input("输入数字"))
    number=0
    for x in range(1,eval(n)+1):
        n1=n*x
        number=number+eval(n1)
    print("%d" %(number))
    

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

    x=eval(input("输入第一个数字x:"))
    y=eval(input("输入第一个数字y:"))
    z=eval(input("输入第一个数字z:"))
    intArr=[x,y,z]
    for x in range(len(intArr)-1):
        if intArr[x]>intArr[x+1]:
            intArr[x+1],intArr[x]=intArr[x],intArr[x+1]
    for y in range(len(intArr)):
        print("%d" %(intArr[y]),end=" ")
    

    8.控制台输出三角形

    a.根据n的值的不同,输出相应的形状
    n = 5时             n = 4
    *****               ****
    ****                ***
    ***                 **
    **                  *
    *
    
    n=eval(input("请输入数字:"))
    for x in range(1,n+1):
        print("*"*(n+1-x))
    
    b.根据n的值的不同,输出相应的形状(n为奇数)
    n = 5               n = 7
      *                    *
     ***                  ***
    *****                *****
                        *******
    
    n=eval(input("请输入数字n(n为奇数):"))
    while n%2==0:
        n=eval(input("请输入数字n(n为奇数):"))
    for x in range(0,int(0.5*(n+1))):
        str1="*"*(2*x+1)
        str1=str1.center(n," ")
        print(str1)
    

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


    for x in range(1,10):
        for y in range(1,x+1):
            sum1=x*y
            print("%d X %d = %d" %(x,y,sum1),end=" ")
        else:
            print("\n")
    

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

    for x in range(0,34):
        for y in range(0,51):
            for z in range(0,101,2):
                if(x+y+z==100 and 3*x+2*y+int(z/2)==100):
                    print("大马=%d 中马=%d 小马=%d" %(x,y,z))
    

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

    for x in range(0,21):
        for y in range(0,34):
            for z in range(0,100,3):
                if(x+y+z==100 and 5*x+3*y+int(z/3)==100):
                    print("公鸡=%d 母鸡=%d 雏鸡=%d" %(x,y,z))
    

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

    for x in range(0,7):
        for y in range(0,51):
            for z in range(0,20):
                if(15*x+2*y+5*z==100):
                    print("洗发水=%d 香皂=%d 牙刷=%d" %(x,y,z))
    

    相关文章

      网友评论

          本文标题:Day-6国庆作业提高篇

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