当前位置:   article > 正文

蓝桥杯刷题(python) 组队、数列求值、特别数的和、刷题统计、练习_蓝桥杯python刷题

蓝桥杯python刷题

        本文记录蓝桥杯的刷题历程。每日五题,题目来源于蓝桥杯官网上的题库,今日为604组队、600数列求值、191特别数的和、2098刷题统计和2376练习。

组队

题目描述

        本题为填空题,只需要算出结果,在代码中使用输出语句将所填结果输出即可。

        作为篮球队教练,你需要从以下名单中选出1号位至五号位各一名球员,组成球队的首发阵容。每位球员担任1号位至5号位时的评分如下表所示。请你计算首发阵容1号位至5号位的评分之和最大可能是多少?

代码展示

  1. import os
  2. import sys
  3. # 请在此输入您的代码
  4. '''
  5. s1 = [97,92, 0, 0,89,82, 0, 0, 0,95, 0, 0,94, 0, 0, 0,98,93, 0, 0]
  6. s2 = [90,85, 0, 0,83,86, 0,97, 0,99, 0, 0,91,83, 0, 0,83,87, 0,99]
  7. s3 = [ 0,96, 0, 0,97, 0, 0,96,89, 0,96, 0, 0,87,98, 0,99,92, 0,96]
  8. s4 = [ 0, 0, 0,80, 0, 0,87, 0, 0, 0,97,93, 0, 0,97,93,98,96,89,95]
  9. s5 = [ 0, 0,93,86, 0, 0,90, 0, 0, 0, 0,98, 0, 0,98,86,81,98,92,81]
  10. s = []
  11. for i in range(20):
  12. for j in range(20):
  13. for k in range(20):
  14. for l in range(20):
  15. for e in range(20):
  16. if len(set([i,j,k,l,e])) == 5:
  17. s.append(s1[i]+s2[j]+s3[k]+s4[l]+s5[e])
  18. print(max(s))
  19. '''
  20. print(490)

 代码分析

        首先将五个位置20个球员的得分赋给s1,s2,s3,s4,s5。然后设置一个新列表s,使用其进行遍历。之所以要设置len(set([i,j,k,l,e]))=5,是为了确保选中的球员没有重复值。对满足条件的球员计算评分和,将其存储于s内,之后print输出s中各元素的最大值。结果为490.

数列求值

题目描述

        本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

        给定数列1,1,1,3,5,9,17,...,从第4项开始,每项都是前3项的和。求第20190324项的最后四位数字。

代码展示

  1. a, b, c, d = 1, 1, 1, 0
  2. for i in range(4, 20190325):
  3. d = (a + b + c) % 10000
  4. a, b, c = b, c, d
  5. print(d)

代码分析

        由于本题仅需要求后四位数字,故对前三项的和用10000取余,保留最后四位数字,同时简化运算。之后,更新前三项。即语句a,b,c=b,c,d.

特别数的和

题目描述

        小明对数位中含有2、0、1、9的数字很感兴趣(不包括前导0),在1到40中这样的数包括1,2,9,10至32,39和40,共28个,他们的和是574.

        请问,在1到n中,所有这样的数和是多少?

代码展示

  1. import os
  2. import sys
  3. # 请在此输入您的代码
  4. # 请在此输入您的代码
  5. count=0
  6. n=int(input())
  7. s=[]
  8. for i in range(1,n+1):
  9. if "2" in str(i) or "0" in str(i) or "1" in str(i) or "9" in str(i):
  10. s.append(i)
  11. print(sum(s))

代码分析

        首先定义一个n用于存储输入,一个空数组用于存储数位中含有2或0或1或9的数。对1至n进行循环找数,由于range函数左边能取到,右边不能取到,故为range(1,n+1)。之后就判断是否含有2,0,1,9了。用语句"2" in str(i)即可判断。最终,输出满足条件的数的和。

刷题统计

问题描述

        小明决定从下周一开始努力刷题准备蓝桥杯竞赛。他计划周一至周五每天做a到题目,周六和周日每天做b道题目。请你帮小明计算,按照计划他将在第几天实现做题数大于等于n题。

输入及输出格式

        输入一行包含三个整数a,b和n。输出一个整数代表天数。例如,输入10,20,99.则输出8.

代码展示

  1. import os
  2. import sys
  3. # 请在此输入您的代码
  4. s=input().split()
  5. a=int(s[0])#周一至周五
  6. b=int(s[1])#周六、周日
  7. n=int(s[2])#天数
  8. week=5*a+b*2#一周
  9. w=n//week #需要多少个整周
  10. d=n-week*w#剩余天数
  11. if d<=5*a:
  12. s=d%a
  13. if s==0:
  14. print(w*7+d//a)
  15. else:
  16. print(w*7+d//a+1)
  17. elif d>5*a:
  18. d=d-5*a
  19. s=d%a
  20. if s==0:
  21. print(w*7+5+d//a)
  22. else:
  23. print(w*7+d//a+5+1)

代码分析

        首先存储输入,用a,b,n分别表示。进而判断需要多少个整周,然后计算整周后剩余多少个题。分剩余题目是否在周一至周五能刷完。若能,则进一步判断需要多少天,若不能,则减去五个整天乘以周一至周五每天刷题量,在对减去后的剩余题目判断需要周六、周日多久。从而得出答案。

练习

题目描述

        小蓝在蓝桥杯练习系统上做题。做到一道题,他编写好程序,在自己的电脑上尝试了题目中提供的几个样例,全部得到了正确的结果,可是当他将自己的程序提交到练习系统上时,却得了0分,这种情况可能的原因是什么?请在以下选项中选择所有可能导致这种情况的原因。

        A.题目中的样例一般比较小,在评测的时候可能使用的评测样例比较大,小蓝的程序虽然在小样例能得到解,对于大一些的评测用例可能速度太慢,超过了题目要求的时间限制。

        B.小蓝的内存使用过多,虽然在自己的电脑上运行正确,可是在评测的内存限制下无法运行。

        C.小蓝的程序有考虑不足之处,题目中的样例比较小,小蓝的程序恰好能得到对应的结果,可是当评测用例比较复杂时,小蓝的程序无法得到正确的结果。

答案提交

        这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个由大写字母组成的字符串,按字母顺序给出所选择的选项,在提交答案时只填写这个字符串,填写多余的内容将无法得分。例如,如果选项全部正确,请填写答案ABC。

代码展示

  1. import os
  2. import sys
  3. print("ABC")

代码分析

        仔细分析可以发现,ABC三个选项都对。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/196856
推荐阅读
相关标签
  

闽ICP备14008679号