美文网首页
day05-作业

day05-作业

作者: d4lx | 来源:发表于2018-08-24 21:03 被阅读0次

day05-作业

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

#控制台输入年龄,根据年龄输出不同的提示
#(例如:老年人、青壮年、成年人、未成年、儿童)
age = int(input('请输入你的年龄:'))
while age >200 or age < 0:
    print('你输入的年龄超出正常人的年龄范围,请重新输入:')
    age = int(input('请输入你的年龄:'))
if age <= 14 and age >= 0:
    print('你是一个儿童!')
elif age >14 and age < 18:
    print('你是一个未成年!')
elif age >= 18 and age <=29:
    print('你是一个成年人!')
elif age > 29 and age <= 44:
    print('你是一个青壮年!')
else:
    print('你是一个老年人!')

结果:


1.png

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

#计算5的阶乘5!的结果
#1*2*3*4*5
n = int(input('请输入你想要计算的阶乘n:'))
value = 1
for x in range(1,n+1):
    value *= x
print(value) 

结果:


2.png

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

#求1+2!+3!+···+20!的和
#分析:此程序只是把累加变成了累乘
'''
      1、先将要求的阶乘数取出
      2、通过for循环求出其阶乘的结果
      3、再通过外层for循环求出阶乘的和
'''
sum1 = 0                    #阶乘的和
value = 1                   #每个阶乘对应的值
for x in range(1,21):
    value = 1               #每个阶乘对应的值
    for y in range(1,x+1):
        value *= y
    else:                   #循环完成后将值加来
        sum1 += value
print('结果为:%d'%(sum1)) 

结果:


3.png

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

#计算1+1/2!+1/3!+1/4!+···+1/20!
'''
分析:1、首先通过for循环求出分母的值;确定分母
      2、再分别确定每一项的值
      3、计算和
'''
sum1 = 0
for x in range(1,21):
    den = 1                #表示分母
    for y in range(1,x+1):
        den *= y
        value = 1/den      #每一项的值
    else:                  #循环完成后将值加来
        sum1 += value
print('结果为:%f'%(sum1))

结果:


4.png

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

#循环输入大于0的数字进行累加,直到输入的数字为0,就结束循环,并最后输出累加结果
'''
分析:1、首先创建一个死循环,实现循环输入;
     2、创建变量输入数据
     3、对变量进行判断,如果大于0就与和相加;
        如果小于0,就提示重新输入;
        如果等于0,就跳出循环,结束循环操作
     4、最后打印结果
'''
sum1 = 0
while True:
    
    number = float(input('请输入一个数:'))
    
    if number > 0:
        sum1 += number
    elif number < 0:
        print('你输入的数小于0,请输入一个大于0的数!')
        continue
    else:
        print('结果为:%f'%(sum1))
        break

结果:


5.png

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

#求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。
#例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘控制;
'''
分析:1、创建两个由键盘输入的变量,一个确定a代表的数字;一个确定有几个数相加
      2、通过循环计算出每一项的值
      3、最后求出和
'''
a = input('确定a的值:')
n = int(input('确定所求数的个数:'))
sum1 = 0
for x in range(1,n+1):
    value = int(a*x)
    sum1 += value
print(sum1)

结果:


6.png

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

#输入三个整数x,y,z,请把这三个数有小到大输出
'''
分析:1、连续输入3个数;
      2、两两比较数的大小;
      3、按照要求输出结果;
'''
# min_num = int(input('第1个数:'))
# for x in range(2,4):
#   num = int(input('第%d个数:'%(x)))
#   if num < min_num:
#       min_num = num
# print('最小值:%d'%(min_num))

num_1 = int(input('输入第一个数:'))
num_2 = int(input('输入第二个数:'))
num_3 = int(input('输入第三个数:'))
temp = 0          #作为替换用
if num_1 > num_2:
    temp = num_1
    num_1 = num_2
    num_2 = temp
if num_1 > num_3:
    temp = num_1
    num_1 = num_3
    num_3 = temp
if num_2 > num_3:
    temp = num_2
    num_2 = num_3
    num_3 = temp
print('从小到大的顺序为:%d,%d,%d'%(num_1,num_2,num_3))

结果:


7.png

8.控制台输出三角形

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

b.根据n的值的不同,输出相应的形状(n为奇数)
n = 5               n = 7
  *                    *
 ***                  ***
*****                *****
                    *******
#直角三角形
n = int(input('请输入一个大于0的整数:'))
while n >= 1:
    print('*'*n)
    n -= 1
print('---------------')
#等腰三角形
i = int(input('请输入一个奇数:'))
for x in range(1,i+1,2):
    print(('*'*x).center(i,' ')) #调用字符串居中方法函数

结果:


8.png

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

九九乘法表.png
#输出9*9口诀
'''
分析:分行与分列考虑,共9行9列,i控制行,j控制列

'''
for i in range(1,10):
    for j in range(1,i+1):
        print('%d'%(i),'X','%d'%(j),'=','%2d'%(i*j), end = '  ')
    else:
        print()

结果:


9.png

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

#这是经典的"百马百担"问题,有一百匹马,驮100担货,大马驮3担,中马驮2担,两只小马驮一担,问有大中小马各几匹;
'''
分析:1、分别假设大中小马有x,y,z匹
      2、需满足x+y+z=100;3x+2y+0.5z=100
         注意:x,y,z都是整数;
      3、明确x,y,z的范围,3x<=100;2y<=100;0.5z<=100;z<=100
      4、求出结果
'''

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(0.5*z) == 100:
                print('大马有%d匹,中马有%d匹,小马有%d匹'%(x,y,z))

结果:


10.png

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

#我国古代数学家张邱建在《算经》中出了一道“百钱买百鸡”的问题,
#题意是这样的: 5文钱可以买一只公鸡,3文钱可以买一只母鸡,1文钱可以买3只雏鸡。
#现在用100文钱买100只鸡,那么各有公鸡、母鸡、雏鸡多少只?请编写程序实现。
'''
分析:1、假设公鸡x只、母鸡y只、雏鸡z只
      2、确定x,y,z的值满足的条件:x + y + z = 100;5x + 3y + 1/3z = 100
      3、确定x,y,z的范围:5y<=100;3z<=100;z<=100;且都是整数
      4、利用循环和if求出结果
'''
for x in range(0,21):
    for y in range(0,34):
        for z in range(0,101,3):
            if x + y + z == 100 and 5*x + 3*y + int(1/3*z) ==100:
                print('公鸡有%d只,母鸡有%d只,雏鸡有%d只'%(x,y,z))

结果:


11.png

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

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

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

'''
分析:1、假设可以买洗发水x,香皂y,牙刷z
      2、确定条件:15x+2y+5z=100;15x<=100;2y<=100;5z<=100
      3、打印结果
'''
count = 0
for x in range(0,100//15+1):
    for y in range(0,100//2+1):
        for z in range(0,100//5+1):
            if 15*x + 2*y + 5*z == 100:
                print('可以选择购买洗发水%d瓶,香皂%d块,牙刷%d支'%(x,y,z))
                count +=1
print('一共有%d种方案'%(count))

结果:


12.png

相关文章

  • day05-作业

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

  • day05-作业

    读程序,总结程序的功能: 1. 功能:计算numbers乘以2的20次方的结果 2. 功能:统计从1到100之间有...

  • Day05-作业

    基础 读程序,总结程序的功能: 1.求等比数列 2的20次方 2.计算在100以内能够被3和7整除,但不能同时被3...

  • Day05-列表作业

    1.已知⼀个列表,求列表中⼼元素。 2.已知⼀个列表,求所有元素和。 3.已知⼀个列表,输出所有奇数下标元素。 4...

  • Day05-课后作业

    1.控制台输入年龄,根据年龄输出不同的提示(例如:老年人,青壮年,成年人,未成年,儿童) 2.计算5的阶乘 5!的...

  • Vue-基础-05-重点

    Vue-基础-day05-重点 01-基础-路由-vue-router-嵌套路由 children用法和route...

  • 2018-08-24 day05-作业

    1.控制台输入年龄,根据年龄输出不同的提示(例如:老年人,青壮年,成年人,未成年,儿童) 2.计算5的阶乘 5!的...

  • Day05-练习

    1. 练习题 统计1-100中能被3或者7整除,但是不能被21整除的数的个数 """ 3.求1到100之间所有数的...

  • day05-列表

    1.输出函数:print() 默认每一个print函数,输出完内容之后会输出一个换行 一个print函数输出多个内...

  • Day05-列表

    输入输出函数 1.输出函数出:print() 1.默认每一个print函数,输出完内容后会输出一个换行2.一个pr...

网友评论

      本文标题:day05-作业

      本文链接:https://www.haomeiwen.com/subject/qviiiftx.html