2019-07-25 day4提高

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

age = int(input('请输入年龄:(0~150)'))
if 0 <= age <= 3:
    print('幼儿')
elif  4 <= age <= 12:
    print('儿童')
elif  13 <= age <= 18:
    print('青少年')
elif  19 <= age <= 28:
    print('青年')
elif  29 <= age <= 50:
    print('壮年')
elif  age > 50:
    print('老年')
else:
    print('输入错误')

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

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

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

sum = 0
result = 1
for i in range(1,21):
    result *= i
    sum += result
print(sum)

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

sum = 0
result = 1
for i in range(1,21):
    result *= i
    sum += 1/result
print(sum)

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

sum = 0
while True:
    num = int(input('请输入一个大于0的整数,输入0时结束:'))
    if num == 0:
        break
    else:
        sum += num
print('和为:',sum)

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

s = 0
a = int(input('请输入a的值:'))
b = c = a
num = int(input('请输入几个数相加:'))
list = []

while a > 0:
    list.append(a % 10)
    a = a // 10

place = len(list)

for i in range(1,num+1):
    s += b
    b = b * (10 ** place) + c
print('结果为',s)

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

x = int(input('请输入x的值:'))
y = int(input('请输入y的值:'))
z = int(input('请输入z的值:'))

list = [x,y,z]

for i in range(3):
    for j in range(i+1,3):
        if list[i] > list[j]:
            temp = list[i]
            list[i] = list[j]
            list[j] = temp

print(list)

8.控制台输出三角形

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

b.根据n的值的不同,输出相应的形状(n为奇数)
n = 5               n = 7
  *                    *
 ***                  ***
*****                *****
                    *******
# a
num = int(input('请输入行数:'))
while num > 0:
    print('*'*num)
    num -= 1

# b
import  math

num = int(input('请输入行数:'))
i = 1
j = k = math.ceil(num/2)
while j >= 0 :
    print(' ' * k,'*' * i)
    i += 2
    j -= 1
    k -= 1

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,' ',end = ' ')            # print语句中加end = ''可以使它不换行
    print('')
乘法口诀表

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

for Big in range(100):
    for Mid in range(100):
        for Sma in range(100):
            if (3 * Big + 2 * Mid + 1/2 * Sma == 100) and (Big + Mid + Sma == 100):
                print('大马',Big,'匹,','中马', Mid, '匹,','小马', Sma, '匹')

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

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

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

for shampoo in range(100):
    for soap in range(100):
        for toothbrush in range(100):
            if 15 * shampoo + 2 * soap + 5 * toothbrush == 100:
                print('洗发水',shampoo,'瓶,','香皂', soap, '个,','牙刷', toothbrush, '支')
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.控制台输入年龄,根据年龄输出不同的提示(例如:老年人,青壮年,成年人,未成年,儿童) ==========第一...
    ham731阅读 1,285评论 0 0
  • 基础 读程序,总结程序的功能: 1. 计算2的20次方 2. 输出1~100中能被3整除或能被7整除,但不能同时被...
    Lis_reak阅读 312评论 1 0
  • 8月22日-----字符串相关 2-3 个性化消息: 将用户的姓名存到一个变量中,并向该用户显示一条消息。显示的消...
    future_d180阅读 1,026评论 0 1
  • 1.控制台输入年龄,根据年龄输出不同的提示(例如:老年人,青壮年,成年人,未成年,儿童) 2.计算5的阶乘 5!的...
    zlyyL阅读 418评论 0 0
  • 每天重复最多的动作,就是查资料、写文案和学习。 上午,看公众号文章,收集一些感兴趣的词语和句子;刷微博,看下最新动...
    媚眼微文案阅读 254评论 1 2

友情链接更多精彩内容