Day-6国庆作业提高篇

2018-10-06  本文已影响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))
上一篇下一篇

猜你喜欢

热点阅读