day5-提升作业

2018-11-10  本文已影响0人  2333_11f6

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

#1.控制台输入年龄,根据年龄输出不同的提示(例如:老年人,青壮年,成年人,未成年,儿童)
"""
1、童年。
0岁-6岁(周岁,下同) (1)婴儿期0-3周月;(2)小儿期4周月-2、5岁; (3)幼儿期2、5岁后-6岁;
2、少年。
7岁-17岁。(1)启蒙期7岁-10岁; (2)逆反期11岁-14岁; (3)成长期15岁-17岁。
3、青年。
18岁-40岁。(1)青春期18-28岁; (2)成熟期29-40岁;
4、中年。
41-65岁。(1)壮实期41-48岁; (2)稳健期49-55岁;(3)调整期56-65岁;
5、老年。
66岁以后。(1)初老期67-72岁;(2)中老期73-84岁;(3)年老期85岁以后。
"""
age = int(input('请输入要查询的年龄:'))
if 0 <= age <= 6:
    print('儿童')
elif age <= 17:
    print('未成年')
elif age <= 40:
    print('青年')
elif age <= 65:
    print('中年')
else:
    print('老年')

结果:


运行结果

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

#2.计算5的阶乘 5!的结果是
num = 5
jie_cheng = 1
for _ in range(1, 5):
    jie_cheng *= num
    num -= 1
print('5!的结果是:', jie_cheng)

结果:


运行结果

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

#3.求1+2!+3!+...+20!的和 1.程序分析:此程序只是把累加变成了累乘。
sum1 = 0
for i in range(1, 21):
    jie_cheng = 1
#每计算一次阶乘需要将累计的阶乘重置,否则变为1!+2!*1!+1!*2!*3*+。。。
    for j in range(1, i+1):
        jie_cheng *= j
    #print(jie_cheng)  测试每次输出的阶乘值
    sum1 += jie_cheng
print('1+2!+3!+...+20!的和为:\n', sum1)

结果:


运行结果

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

#4.计算 1+1/2!+1/3!+1/4!+...1/20!=?
sum1 = 0
for i in range(1, 21):
    jie_cheng = 1        #每次初始化
    for j in range(1, i+1):
        jie_cheng *= j

    sum1 += 1/jie_cheng
print('1+1/2!+1/3!+1/4!+...1/20!= %.3f' %(sum1))

结果:


运行结果

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

#5.循环输入大于0的数字进行累加,直到输入的数字为0,就结束循环,并最后输出累加的结果。
l = []
sum1 = 0
n = float(input('请输入一个数字:'))
while n:
    if n > 0:
        l.append(n)
        sum1 += n

    n = float(input('请输入一个数字:'))
print('输入数字中大于0的有:\n', l, '他们的和为:', sum1)

结果:


运行结果

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

"""
6.求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222
(此时共有5个数相加),几个数相加有键盘控制。 1.程序分析:关键是计算出每一项
的值。
"""
n = int(input('请输入需要相加的数字个数(正整数):'))
a = int(input('请输入一个a的值(正整数):'))
sum1 = 0                   # 放外面,防止初始化
l = []
for j in range(1, n+1):
    dan_xiang = 0                         # 每次求出单项值需要初始化
    for i in range(1, j+1):
        dan_xiang += a*10**(i-1)         # 求出每一项的值

    l.append(dan_xiang)
    sum1 += dan_xiang                         # 计算总和
print('此时算式各单项如下:\n', l, '它们的和为:', sum1)

结果:


运行结果

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

#7.输入三个整数x,y,z,请把这三个数由小到大输出。
x = int(input('请输入第一个整数:'))
y = int(input('请输入第二个整数:'))
z = int(input('请输入第三个整数:'))
list1 = [x, y, z]
for i in range(0, 3):
    for j in range(0, 2-i):             # 比较次数为长度减1再减去已比较过的次数
        if list1[j] > list1[j+1]:
            list1[j], list1[j+1] = list1[j+1], list1[j]   #互换

print(list1)

结果:


运行结果

8.控制台输出三角形

a.根据n的值的不同,输出相应的形状
n = 5时             n = 4
*****               ****
****                ***
***                 **
**                  *
*

b.根据n的值的不同,输出相应的形状(n为奇数)
n = 5               n = 7
  *                    *
 ***                  ***
*****                *****
                    *******

程序a:

#a.根据n的值的不同,输出相应的形状
n = int(input('请输入一个正整数:'))
while n:
    print('*'*n)
    n -= 1

结果:


a

程序b:

#b.根据n的值的不同,输出相应的形状(n为奇数)
n = int(input('请输入一个奇数:'))
hang = (n+1)//2         # 注意结果不能为浮点数
for i in range(1, hang+1):
    print(' '*(hang-i), '*'*(2*i-1))
print()

结果:


b

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


99

程序:

#9.输出9*9口诀。 1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列。
for i in range(1, 10):
    for j in range(1, i+1):
        print((str(j)+'×'+str(i)+'='+str(i*j)),end='\t')
    print()

结果:


99

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

#10.这是经典的"百马百担"问题,有一百匹马,驮一百担货,大马驮3担,中马驮2担,两只
# 小马驮1担,问有大,中,小马各几匹?
print('所有可能的情况如下:')
for big_horse in range(0, 33):
    for small_horse in range(0, 101):
        for mid_horse in range(0, 49):
            if (big_horse + small_horse + mid_horse == 100 and 6*big_horse
                    + 4*mid_horse + small_horse == 200):
                print('大马%d,中马%d,小马%d'
                      %(big_horse, mid_horse, small_horse))

结果:


运行结果

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

"""
11.我国古代数学家张邱建在《算经》中出了一道“百钱买百鸡”的问题,题意是这样
的:5文钱可以买一只公鸡,3文钱可以买一只母鸡,1文钱可以买3只雏鸡。现在用100
文钱买100只鸡,那么各有公鸡、母鸡、雏鸡多少只?请编写程序实现。
"""
print('所有可能的情况如下:')
for gong_ji in range(0, 20):
    for xiao_ji in range(0, 101):
        for mu_ji in range(0, 33):
            if (gong_ji + xiao_ji + mu_ji == 100 and 15*gong_ji
                    + 9*mu_ji + xiao_ji == 300):
                print('公鸡%d,母鸡%d,雏鸡%d' %(gong_ji, mu_ji, xiao_ji))

结果:


运行结果

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

print('所有可能的情况如下:')
for xi_fa_shui in range(1, 7):                     #(100-2-5)/15
    for xiang_zao in range(1, 41):                 #(100-15-5)/2
        for ya_shua in range(1, 17):               #(100-15-2)/5
            if 15*xi_fa_shui + 5*ya_shua + 2*xiang_zao == 100:
                print('洗发水%d,牙刷%d,香皂%d'
                      %(xi_fa_shui, ya_shua, xiang_zao))

结果:

所有可能的情况如下:
洗发水0,牙刷16,香皂10
洗发水0,牙刷14,香皂15
洗发水0,牙刷12,香皂20
洗发水0,牙刷10,香皂25
洗发水0,牙刷8,香皂30
洗发水0,牙刷6,香皂35
洗发水0,牙刷4,香皂40
洗发水1,牙刷15,香皂5
洗发水1,牙刷13,香皂10
洗发水1,牙刷11,香皂15
洗发水1,牙刷9,香皂20
洗发水1,牙刷7,香皂25
洗发水1,牙刷5,香皂30
洗发水1,牙刷3,香皂35
洗发水1,牙刷1,香皂40
洗发水2,牙刷12,香皂5
洗发水2,牙刷10,香皂10
洗发水2,牙刷8,香皂15
洗发水2,牙刷6,香皂20
洗发水2,牙刷4,香皂25
洗发水2,牙刷2,香皂30
洗发水3,牙刷9,香皂5
洗发水3,牙刷7,香皂10
洗发水3,牙刷5,香皂15
洗发水3,牙刷3,香皂20
洗发水3,牙刷1,香皂25
洗发水4,牙刷6,香皂5
洗发水4,牙刷4,香皂10
洗发水4,牙刷2,香皂15
洗发水5,牙刷3,香皂5
洗发水5,牙刷1,香皂10

上一篇下一篇

猜你喜欢

热点阅读