2018-08-25 编程作业

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

name='Jim'
age=int(input('请输入年龄\n'))
if age<=12:
   print('%s是一个儿童'%(name))
elif age<=18:
   print('%s是还未成年'%(name))
elif age<=30:
   print('%s是青壮年'%(name))
elif age<=60:
   print('%s是成年人'%(name))
else:
   print('%s是老年人'%(name))

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

i=1
j=1
while i<=5:
   j*=i
   i+=1
print(j)    #120

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

sum1=0
k=1
for i in range(1,21):
    k*=i
    sum1+=k
print(sum1)   #2561327494111820313

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

i=1
k=1
sum=0
while i<=20:
    k*=1/i
    sum+=k
    i+=1
print(sum)    #1.7182818284590455

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

sum=0
while True:
    n=int(input('请输入一个数字: '))
    if n:
        sum+=n
    else:
        break
print(sum)

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

a=input('请输入一个一位数 ')   #a=5
b=int(input('请输入个数 '))   #b=4
i=1
sum=0
while i<=b:
    k=i*a
    if i

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

x=int(input('请输入第一个数 '))
y=int(input('请输入第二个数 '))
z=int(input('请输入第三个数 '))
max=x   #找出最大值
if maxy:
   min=y
elif min>z:
   min =z


if max==x:
   if min==y:
       mid=z
   else:
       mid=y
elif max==y:
   if min==x:
       mid=z
   else: 
       mid=x
else:
   if min==x:
       mid=y
   else:
       mid=x
print(min,mid,max)

第二种

x=int(input('请输入第一个整数'))
y=int(input('请输入第二个整数'))
z=int(input('请输入第三个整数'))
if x>y:
    m=x
    x=y
    y=m
if x>z:
    m=x
    x=z
    z=m
if y>z:
    m=y
    y=z
    z=m
print(x,y,z)

8.控制台输出三角形
8.1.根据n的值的不同,输出相应的形状
n = 5时
*****
****
***
**
*

n=5
for i in range(n,0,-1):
    for j in range(1,i+1):
        print('*',end='')
    else:
        print('\n')

8.2b.根据n的值的不同,输出相应的形状(n为奇数)
n=5
RDB)MVWM9}@PCO@H~D{1)21.png

n=int(input('请输入一个奇数 '))
j=1    #用j来控制每行输出'*'的个数
for j in range(1,n+1,2):   #通过控制循环次数,从而控制行数
    str1='*'*j
    print(str1.center(n)) 

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

str1=0
str2=0
k=0
str3=0
for i in range(1,10):
    print()
    for j in range(1,i+1):
        str1=str(j)   
        str2=str(i)
        k=j*i
        str3=str(k)
        str4=str1+'X'+str2+'='+str3
        print(str4,end=' ')
print()

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

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

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

a=0  #公鸡的只数
b=0   #母鸡的只数
c=0   #雏鸡的只数
for a in range(0,21):
    for b in range(0,34):
        for c in range(0,101):
            if 5*a+3*b+(1/3)*c==100 and a+b+c==100:  #条件:总共有100文钱
                print('可以买公鸡%d只,母鸡%d只,雏鸡%d只'%(a,b,c))

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

a=0
b=0
c=0
for a in range(1,7):    #从1开始,即每样至少买一个
    for b in range(1,51):
        for c in range(1,21):
            if 15*a+2*b+5*c==100:
                print('可以买洗发水%d瓶,香皂%d块,牙刷%d支'%(a,b,c))

你可能感兴趣的:(2018-08-25 编程作业)