1.控制台输入年龄,根据年龄输出不同的提示:(列如:老年人,青壮年,成年人,未成年,儿童)
age = int(input('请输入你的年龄:'))
if age >= 50:
print('老年人')
elif age >=35:
print('青壮年')
elif age >=18:
print('成年人')
elif age >= 12:
print('未成年')
else:
print('儿童')
2.计算5的阶乘5!的结果是
y = 1
for x in range(1,6):
y *= x
print(y)
结果:120
3.求1+2!+3!+...+20!的和1.程序分析:此程序只是把累加变成了累乘。
y = 1
z = 0
for x in range(1,21):
y *= x
z += y
print(z)
结果 2561327494111820313
4.计算 1+1/2!+1/3!+1/4!+...1/20!=?
y = 1
z = 0
x = 1
for i in range(1,21):
y *= i
x = 1/y
z += x
print(z)
结果 1.7182818284590455
5.循环输入大于0的数字进行累加,直到输入的数字为0,就结束循环,并最后输出累加的结果。
number = 0
while True:
n = int(input('请输入一个数字:'))
if n != 0:
number += n
else:
break
print('你输入的数字和为:%d'%(number))
6.求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。 1.程序分析:关键是计算出每一项的值。
a = str(input('请输入一个数字:'))
b = int(input('请输入数字:'))
c = 0
e = 0
for d in range(1,b+1):
c = a * d
e +=int(c)
print(e)
7.输入三个整数x,y,z,请把这三个数由小到大输出。
x=int(input('x='))
y=int(input('y='))
z=int(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(z,y,x)
8.控制台输出三角形
a.根据n的值的不同,输出相应的形状
n = int(input('请输入一个值:'))
for i in range(n,0,-1):
print('*'*i)
n = 5 n =4
***** ****
**** ***
*** **
** *
*
b.根据n的值的不同,输出相应的形状(n为奇数)
n = int(input('请输入一个值:'))
for i in range(1,n+1,2):
print(('*'*i).center(5,' '))
n = 5
*
***
*****
n = int(input('请输入一个值:'))
for i in range(1,n+1,2):
print(('*'*i).center(7,' '))
n = 7
*
***
*****
*******
9.输出9*9口诀。 1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列。
for i in range(1,10):
for j in range(1,i+1):
print(j,'x',i,'=',j*i ,sep='',end=' ')
print()
1x1=1
1x2=2 2x2=4
1x3=3 2x3=6 3x3=9
1x4=4 2x4=8 3x4=12 4x4=16
1x5=5 2x5=10 3x5=15 4x5=20 5x5=25
1x6=6 2x6=12 3x6=18 4x6=24 5x6=30 6x6=36
1x7=7 2x7=14 3x7=21 4x7=28 5x7=35 6x7=42 7x7=49
1x8=8 2x8=16 3x8=24 4x8=32 5x8=40 6x8=48 7x8=56 8x8=64
1x9=9 2x9=18 3x9=27 4x9=36 5x9=45 6x9=54 7x9=63 8x9=72 9x9=81
10.这是经典的"百马百担"问题,有一百匹马,驮一百担货,大马驮3担,中马驮2担,两只小马驮1担,问有大,中,小马各几匹?
horse = 100
big_horse = 0
middle_horse = 0
small_horse = 0
for big_horse in range(1,35): #100担,最多34匹大马
for middle_horse in range(1,52): #100担,最多50匹中马
for small_horse in range(1,201): #100担,最多200匹小马
horse = big_horse + middle_horse + small_horse
if (3*big_horse + 2*middle_horse + 0.5*small_horse == 100 and horse == 100):
print(big_horse,middle_horse,small_horse)
结果:
大马的数量为: 2 中马的数量为: 30 小马的数量为: 68
大马的数量为: 5 中马的数量为: 25 小马的数量为: 70
大马的数量为: 8 中马的数量为: 20 小马的数量为: 72
大马的数量为: 11 中马的数量为: 15 小马的数量为: 74
大马的数量为: 14 中马的数量为: 10 小马的数量为: 76
大马的数量为: 17 中马的数量为: 5 小马的数量为: 78
大马的数量为: 20 中马的数量为: 0 小马的数量为: 80
11.我国古代数学家张邱建在《算经》中出了一道“百钱买百鸡”的问题,题意是这样的: 5文钱可以买一只公鸡,3文钱可以买一只母鸡,1文钱可以买3只雏鸡。现在用100文钱买100只鸡,那么各有公鸡、母鸡、雏鸡多少只?请编写程序实现。
chicken = 100
gongji = 0
muji = 0
chuji = 0
for gongji in range(21):
for muji in range(35):
for chuji in range(301):
chicken = gongji + muji + chuji
if (5*gongji + 3*muji + 1/3*chuji == 100 and chicken == 100):
print(gongji,muji,chuji)
结果:
各有公鸡:0 母鸡:25 雏鸡:75
各有公鸡:4 母鸡:18 雏鸡: 78
各有公鸡:8 母鸡:11 雏鸡: 81
各有公鸡:12 母鸡:4 雏鸡: 84
12.小明单位发了100元的购物卡,小明到超市买三类洗化用品,洗发水(15元),香皂(2元),牙刷(5元)。要把100元整好花掉,可如有哪些购买结合?
for x in range(1,100):
for y in range(1,100):
for z in range(1,100):
if 15*x+2*y+5*z==100:
print(x,y,z)
结果:
洗发水: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