美文网首页
day4-循环和分支-作业-提高

day4-循环和分支-作业-提高

作者: _桑心人 | 来源:发表于2018-09-30 15:24 被阅读0次

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

代码如下

age = input('请输入一个年龄:')
if 0 <= age <= 3:
    print(age,"幼儿")
elif age <= 12:
    print(age,'儿童')
elif age <= 18:
    print(age,'少年')
elif age <= 28:
    print(age,'青年')
else:
    print(age,'中老年')

运行结果

请输入一个年龄:56
56 中老年

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

代码如下

num = 1
sum1 = 1
while num <= 5:
    sum1 *= num
    num += 1
print(sum1)

运行结果

120
[Finished in 0.1s]

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

代码如下

num = 1
sum1 = 1
sum2 = 0
for x in range(1,21):
    sum1 = 1
       num = 1
    while num <= x:
        sum1 *= num
        num += 1
    sum2 += sum1
print(sum2)

运行结果

2561327494111820313
[Finished in 0.1s]

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

代码如下

num = 1
sum1 = 1
sum2 = 0
for x in range(1,21):
    sum1 = 1
    num = 1
    while num <= x:
        sum1 *= num
        num += 1
    sum2 += 1/sum1
print(sum2)

结果如下

1.7182818284590455
[Finished in 0.1s]

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

代码如下

sum1 = 0
str1 = input("请输入一个整数:")
num = int(str1)
while num:
    sum1 += num
    str1 = input("请输入一个整数:")
    num = int(str1)
print(sum1)

结果如下

请输入一个整数:5
请输入一个整数:6
请输入一个整数:0
11

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

代码如下

a = input("请输入一个整数:")
a1 = int(a)
b = input("请输入相加的个数:")
b1 = int(b)
sum1 = 0
sum2 = 0
for x in range(b1):
    sum2 = 0
    y = 0
    while y <= x:
        sum2 += a1*(10**y)
        y += 1
    sum1 += sum2        
print(sum1)

结果如下

请输入一个整数:5
请输入相加的个数:3
值为 615

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

代码如下

x = int(input('请输入整数x的值:'))
y = int(input('请输入整数y的值:'))
z = int(input('请输入整数z的值:'))
t = 0
if x < y:
    t = x
    x = y
    y = t
if x < z:
    t = x
    x = z
    z = a 
if y < z:
    t = y
    y = z
    z = t
print(z,y,x)

结果如下

请输入整数x的值:5
请输入整数y的值:9
请输入整数z的值:4
4 5 9

8.控制台输出三角形

  • a.根据n的值的不同,输出相应的形状

代码如下

n = int(input('请输入一个整数:'))
while n:
    i = 0
    while i < n:
        print('*',end=' ')
        i += 1
    n -= 1
    print('\n')

运行结果

请输入一个整数:5
* * * * *
* * * *
* * *
* *
*
请输入一个整数:4
* * * *
* * *
* *
*
  • b.根据n的值的不同,输出相应的形状(n为奇数)

代码如下

n = int(input('请输入一个奇数:'))
t = n
for x in range(1,n+1):
    if x % 2 != 0:
        i = 0
        str1 = ''
        while i < x:
            str1 += '*'
            i += 1
        print(str1.center(t,' '))

运行结果

请输入一个奇数:7
   *
  ***
 *****
*******

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

代码如下

i = 1
j = 1
num = 0
while i <= 9:
    while j <= i:
        a = 1
        while a <= j:
            num = a*j
            print('%dx%d=%d' % (a,j,num),end=' ')
            a += 1
        j += 1
    i += 1
    print('\n')

运行结果

请输入一个奇数:7
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 

[Finished in 0.1s]

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

代码如下

big = 1
middle = 1
small = 1
while big <= 100//3:
    middle = 1
    while middle <= 100//2:
        small = 1
        while small <= 100:
            if(big*3 + middle*2 + small//2 == 100 and big + middle + small ==100):
                print('大马有%d,中马有%d,小马有%d' % (big,middle,small))
            small += 1
        middle += 1
    big += 1

运行结果

大马有1,中马有32,小马有67
大马有2,中马有30,小马有68
大马有4,中马有27,小马有69
大马有5,中马有25,小马有70
大马有7,中马有22,小马有71
大马有8,中马有20,小马有72
大马有10,中马有17,小马有73
大马有11,中马有15,小马有74
大马有13,中马有12,小马有75
大马有14,中马有10,小马有76
大马有16,中马有7,小马有77
大马有17,中马有5,小马有78
大马有19,中马有2,小马有79
[Finished in 0.6s]

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

代码如下

import math

cock = 1
hen = 1
chick = 1
while cock <= 100//5:
    hen = 1
    while hen <= 100//3:
        chick = 1
        while chick <= 300:
            if(cock*5 + hen*3 + math.ceil(chick//3) == 100 and cock + hen + chick == 100):
                print('公鸡有%d,母鸡有%d,雏鸡有%d' % (cock,hen,chick))
            chick += 1
        hen += 1
    cock += 1

运行结果

公鸡有3,母鸡有20,雏鸡有77
公鸡有4,母鸡有18,雏鸡有78
公鸡有7,母鸡有13,雏鸡有80
公鸡有8,母鸡有11,雏鸡有81
公鸡有11,母鸡有6,雏鸡有83
公鸡有12,母鸡有4,雏鸡有84
[Finished in 2.8s]

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

代码如下

shampoo = 1
soap = 1
toothpaste = 1
while shampoo <= 100 // 15:
    soap = 1
    while soap <= 100 // 2:
        toothpaste = 1
        while toothpaste <= 5:
            if(shampoo*15 + soap*2 + toothpaste*5 == 100):
                print('可买洗发水%d瓶,香皂%d盒,牙刷%d把' % (shampoo,soap,toothpaste))
            toothpaste += 1
        soap += 1
    shampoo += 1

运行结果

可买洗发水1瓶,香皂30盒,牙刷5把
可买洗发水1瓶,香皂35盒,牙刷3把
可买洗发水1瓶,香皂40盒,牙刷1把
可买洗发水2瓶,香皂25盒,牙刷4把
可买洗发水2瓶,香皂30盒,牙刷2把
可买洗发水3瓶,香皂15盒,牙刷5把
可买洗发水3瓶,香皂20盒,牙刷3把
可买洗发水3瓶,香皂25盒,牙刷1把
可买洗发水4瓶,香皂10盒,牙刷4把
可买洗发水4瓶,香皂15盒,牙刷2把
可买洗发水5瓶,香皂5盒,牙刷3把
可买洗发水5瓶,香皂10盒,牙刷1把
[Finished in 3.1s]

相关文章

  • day4-循环和分支-作业-提高

    1.控制台输入年龄,根据年龄输出不同的提示(例如:老年人,青壮年,成年人,未成年,儿童) 代码如下 运行结果 2....

  • day4-循环和分支-作业-基础

    读程序,总结程序的功能: 1. 功能:求2的20次方 2. 功能:求1~100之间能被3或7整除但不能被21整除的...

  • day4-循环和分支

    3.if--elif--elif--else if 条件语句1:代码块1elif 条件语句2:代码块2else:代...

  • day4-循环和分支

    01-if语句 1.if 条件语句: 代码块其他语句执行过程:先判断条件语句是否为True,如果是True就执行代...

  • day4-循环和分支

    1.ifif 条件语句:代码块其他语句执行过程:先判断条件语句是否为True,如果是True就执行代码块,执行完代...

  • day4-循环作业提高

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

  • day4-循环和分支-总结

    2.if语句 代码都是从上往下 一开始导入一个模块/包的关键字: 1.if就是在程序中用来做判断的(需要在满足某个...

  • Day4-分支&循环的总结

    """author= HuangZhong""" 一.分支结构 python中的分支结构只有if语句 1.if语句...

  • day4-循环作业

    基础 读程序,总结程序的功能: numbers=1for i in range(0,20):numbers*=2p...

  • 2018-08-23 day4-循环和分支

    1.数据类型转换 自动转换 整型与浮点型数计算转换为浮点型 整型与bool型(0和1)计算转换为整型 强制转换 语...

网友评论

      本文标题:day4-循环和分支-作业-提高

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