day04 提高作业

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

age = int(input("请输入年龄: "))
if age < 10:
    print("儿童")
elif age <18:
    print("未成年")
elif age < 30:
    print("成年人")
elif age < 40:
    print("青壮年")
elif age < 50:
    print("老年人")

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

m = 1
for i in range(1, 6):
    m *= i
print(m)

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

def fac(x):
    for i in range(1, x+1):
        x *= i
    return x

sum = 0
for j in range(1, 21):
    sum += fac(j)
else:
    print(sum)

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

def fac(x):
    for i in range(1, x+1):
        x *= i
    return x

a = 1
b = 1
sum = 0
for i in range(1, 21):
    b = fac(i)
    num = a/b
    sum += num
print(sum)

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

sum = 0
while True:
    num = float(input("输入数字: "))
    if num != 0:
        sum += num
        continue
    else:
        print(sum)
        break

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


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

x = int(input("输入第一个整数: "))
y = int(input("输入第二个整数: "))
z = int(input("输入第三个整数: "))
if x>y:
    x, y = y, x
if x>z:
    x, z = z, x
if y>z:
    y, z = z, y
print("它们从小到大依次为:",x, y, z)

8. 控制台输出三角形

a.

n = int(input("输入三角形的高n: "))
for i in range(n):
    for j in range(n):
        print(*)
    print()

b.

n = int(input("请输入一个奇数: "))
#row是行数,space是第一行的空格数,star是第一行的星星数
row = (n+1)//2
space = (n+1)//2-1
star = 1
for i in range(row):
    for j in range(space):
        print(' ', end='')
    space -= 1
    for k in range(star):
        print('*', end='')
    star += 2
    print()

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

for i in range(1, 10):
    for j in range(1, 10):
        if j <= i:
            print(j, '*', i, '=', i*j, end=' ')
    print()

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

sum = 0
for a in range(1, 100):
    for b in range(1, 100):
        for c in range(1, 100):
            sum = 3*a + 2*b +1/2*c
            if sum == 100:
                print("大马有",a,"匹,","中马有",b,"匹,","小马有",c,"匹")

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

sum = 0
for a in range(1, 100):
    for b in range(1, 100):
        for c in range(1, 100):
            sum = 5*a + 3*b +c
            if sum == 100:
                print("公鸡有",a,"只,","母鸡有",b,"只,","雏鸡有",c,"只")

12. 小明单位发了100元的购物卡,小明到超市买三类洗化用品,洗发水(15元),

香皂(2元),牙刷(5元)。要把100元整好花掉,可如有哪些购买结合?

sum = 0
for a in range(1, 100):
    for b in range(1, 100):
        for c in range(1, 100):
            sum = 15*a + 2*b +5*c
            if sum == 100:
                print("可以买",a,"瓶洗发水加",b,"个香皂加",c,"只牙刷")

你可能感兴趣的:(day04 提高作业)