2018-08-25 Day5作业
2018-08-25 本文已影响0人
Ftr_
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件
"""