day6-作业

2018-09-30  本文已影响0人  xdxh
1.控制台输入年龄,根据年龄输出不同的提示(例如:老年人,青壮年,成年人,未成年,儿童)

代码

age = int(input('请输入年龄:'))
if age < 12:
    print('儿童')
elif age < 18:
    print('未成年')
elif age < 25:
    print('成年人')
elif age < 40:
    print('青壮年')
else:
    print('老年人')

测试结果

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

代码

n = 5
product = 1
for x in range(5):
    product *= n
    n -= 1
print('product=',product)

测试结果

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

代码

sum = 0
for num in range(1,21):
    product = 1
    while num > 0:
        product *= num
        num -= 1
    sum += product
print('sum=',sum)

测试结果

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

代码

sum = 0
for num in range(1,21):
    product = 1
    while num > 0:
        product *= 1/num
        num -= 1 
    sum += product
print(sum)

测试结果

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

代码

sum = 0
num = int(input('请输入一个数:'))

while num >= 0:
    if num > 0:
        while num > 0:
            sum += num
            num -= 1
    else:
        break
    num = int(input('请输入一个数:'))
print('累加结果=',sum)

测试结果

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

代码

number = 0
sum = 0
n = int(input('请输入a的值(1~9):'))
for num in range(1,n+1):
    number += n* 10 ** (num-1)
    sum += number
print('sum=',sum)

测试结果

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

代码

max = 0
middle = 0
min = 0

x = int(input('请输入第1个数:'))
y = int(input('请输入第2个数:'))
z = int(input('请输入第3个数:'))

max = x 
min = x
if max < y :
    max = y
    if max < z:
        max = z
elif max < z:
    max = z

if min > y :
    min = y
    if min > z:
        min = z
elif min > z:
    min = z

if x != min and x != max:
    middle = x
elif y != min and y != max:
    middle = y
else:
    middle = z

print(min,middle,max,sep = ',')

测试结果

7.PNG
8.控制台输出三角形

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

代码

# n = 5时             n = 4
# *****               ****
# ****                ***
# ***                 **
# **                  *
# *

n = int(input('请输入n的值:'))
while n > 0:
    print('*' * n)
    n -= 1

测试结果

8-a.PNG

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

代码

# n = 5               n = 7
#   *                    *
#  ***                  ***
# *****                *****
#                     *******
                    
m = 1
n = int(input('请输入n的值(n为奇数):'))
while m <= n:
    print(('*' * m).center(2*n))
    m += 2

测试结果

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

代码

for i in range(1,10):
    for j in range(1,i+1):
            print(i,'*',j,'=',i*j,sep='',end=' ')
    print('\n')

测试结果

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

代码

for big_horse in range(0,101):
    for middle_horse in range(0,101):
        for small_horse in range(0,101):
            if big_horse*3 + middle_horse*2 + small_horse*0.5 ==100 and big_horse+middle_horse+small_horse ==100:
                print('大马',big_horse,'匹,中马',middle_horse,'匹,小马',small_horse,'匹',sep='')

测试结果

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

代码

for cock in range(0,101):
    for hen in range(0,101):
        for chick in range(0,101):
            if cock*5 + hen*3 + chick*1/3 == 100 and cock + hen + chick ==100 :
                print('公鸡',cock,'只,母鸡',hen,'只,雏鸡',chick,'只',sep='')

测试结果

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

代码

count = 0
for shampoo in range(0,7):
    for soap in range(0,51):
        for toothbrush in range(0,21):
            if shampoo*15 + soap*2 + toothbrush*5 ==100:
                count +=1
                print('洗发水',shampoo,'瓶,香皂',soap,'块,牙刷',toothbrush,'把',sep='')
print('共有',count,'种购买方法',sep='')

测试结果

3.PNG
上一篇下一篇

猜你喜欢

热点阅读