exercise

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

    age = input('请输入年龄:')
    if int(age) <10:
        print('儿童')
    elif int(age) <18:
        print('未成年人')
    elif int(age) <30:
        print('青年人')
    elif int(age)<60:
        print('成年人')
    else:
        print('老年人')
    break   

2.计算 5!的结果是

for x in range(1,6):
    a *= x
print(a)
#结果是120

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

x = 1
y = 0
for i in range(1,21):
    x *= i
    y += x
print(y)
#结果是2561327494111820313
exercise_第1张图片
image.png

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

x = 1
y = 0
for i in range(1,21):
    x *= 1/i
    y += x
print(y)
#结果是1.7182818284590455

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

a = 0
while True:
    number = input('请输入一个数字:')
    if int(number) >0:
        a += int(number)
    else:
        break
print('累加的结果是:%d'%(a))

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

sum1 = 0
a = input('请输入a的值:')
b = int(input('请输入几个数相加:'))
for x in range(1,b+1):
    c = int(a*x)
    sum1 += c
print(sum1)

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

number1 = int(input('请输第一个数字:'))
number2 = int(input('请输第二个数字:'))
number3 = int(input('请输第三个数字:'))
temp = 0

if number1>number2:
    temp = number1
    number1 = number2
    number2 = temp
if number2>number3:
    temp = number2
    number2 = number3
    number3 = temp
if number1>number3:
    temp = number1
    number1 = number3
    number3 = temp
print('从小到大的顺序是%d,%d,%d'%(number1,number2,number3))

image.png

8.控制台输出三角形

a.根据n的值的不同,输出相应的形状
n = 5时             n = 4
*****               ****
****                ***
***                 **
**                  *
*
b.根据n的值的不同,输出相应的形状(n为奇数)
n = 5               n = 7
  *                    *
 ***                  ***
*****                *****
                    *******
#a
number = int(input('请输入一个大于0的数字:'))
while number>0:
    print('*'*number)
    number -=1
exercise_第2张图片
image.png
#b
x = int(input('请输入一个奇数:'))
for y in range (1,x+1,2):
    print(('*'*y).center(x,' '))


image.png

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

for x in range(1,10):
    for y in range(1,x+1):
        print('%d*%d==%d'%(x,y,x*y),end=' ')
    else:
        print()

exercise_第3张图片
image.png

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

for x in range (0,34):
    for y in range(0,50):
        for z in range(0,100):
            if x+y+z==100 and 3*x+2*y+0.5*z==100:
                print('大马有%d只'%(x),'中马有%d只'%(y),'小马有%d只'%(z))
exercise_第4张图片
image.png

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

# 假设公鸡有 x 只,母鸡有 y 只,雏鸡有 z 只,需满足x+y+z=100,5x+3y+1/3z=100
# x 的取值范围是(0,20),y 的取值范围是(0,100/3),z 的取值范围是(0,100)
for x in range (0,20):
    for y in range(0,34):
        for z in range(0,100):
            if x+y+z==100 and 5*x+3*y+1/3*z==100:
                print('公鸡有%d只'%(x),'母鸡有%d只'%(y),'小鸡有%d只'%(z))
exercise_第5张图片
image.png

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

for x in range (1,100//15+1):
    for y in range(1,50):
        for z in range(1,20):
            if 15*x+2*y+5*z==100:
                print('可以买洗发水%d瓶'%(x),'香皂%d块'%(y),'牙刷%d个'%(z))
exercise_第6张图片
image.png

你可能感兴趣的:(exercise)