每日一练 — 2021.12.30
文章目录
- 一,编程通过键盘输入每一位运动员
- 1,查询简介
- 2,查询代码
- 3,运行结果
- 二,循环随机取数组直到得出指定数字
- 1,查询简介
- 2,查询代码
- 3,运行结果
- 三,插入区间
- 1,查询简介
- 示例 1:
- 示例 2:
- 示例 3:
- 示例 4:
- 示例 5:
- 提示:
- 2,查询代码
- 3,运行结果
一,编程通过键盘输入每一位运动员
1,查询简介
- 体操比赛成绩统计。
- 多名运动员,多个评委打分,去掉一个最高分和去掉一个最低分,对其余分数求平均分作为一个运动员成绩。
- 编程通过键盘输入每位运动员编号和每个评委的成绩,求出运动员的最终成绩,并将运动员编号和最终成绩保存在一个字典中,形如{编号1:最终成绩1,学号2:最终成绩2…,并将结果输出。
2,查询代码
# -*- coding: utf-8 -*-
"""
Created on Thu Dec 30 16:19:24 2021
Function: 编程通过键盘输入每一位运动员
@author: 小梁aixj
"""
t=int(input('请输入评委人数(不少于三人):'))
s=int(input('请输入学生人数(不少于一人):'))
stus=[]
for i in range(s):stu={'score':[]}stu.update({'sn':str(input('----\n请输入学生学号:'))})for j in range(t):stu['score'].append(input('请输入评委'+str(j+1)+'的评分:'))stu['score'].sort()stu.update({'min':stu['score'].pop(0)})stu.update({'max':stu['score'].pop()})stu.update({'avg':eval('+'.join(stu['score']))/len(stu['score'])})stus.append(stu)
r={n['sn']:n['avg'] for n in stus}
print(r)
3,运行结果
二,循环随机取数组直到得出指定数字
1,查询简介
- 举个例子: 随机数字范围:
- 0~100 每组数字量:
- 6(s1,s2,s3,s4,s5,s6)
- 第二轮开始随机数字范围:
- 新s1和新s2取值为旧s1和s2之间,新s3和新s4取值为旧s3和s4之间,新s5和新s6取值为旧s5和s6之间。
- 跳出循环条件:任意数字 = 37 如因s1 = s2 != 37&&s3=s4!=37&&s5=s6!=37 使数组进入无意义无限循环,则重新取0~100六个数字并开始如上述第二轮随机的随机取值。
2,查询代码
# -*- coding: utf-8 -*-
"""
Created on Thu Dec 30 16:22:55 2021
Function: 循环随机取数组直到得出指定数字
@author: 小梁aixj
"""
import random
def random_test():rst_list = [random.randint(0,100) for i in range(0, 6)]print(rst_list)while 1:temp = []for k,v in enumerate(rst_list):if k%2==0:temp.append(random.randint(min([rst_list[k],rst_list[k+1]]),max([rst_list[k],rst_list[k+1]])))else:temp.append(random.randint(min(rst_list[k-1], rst_list[k]),max(rst_list[k-1], rst_list[k])))rst_list = tempprint(rst_list)if 37 in rst_list:print('rst_list:',rst_list)return rst_listelse:if rst_list[0]==rst_list[1] and rst_list[2]==rst_list[3] and rst_list[4]==rst_list[5]:rst_list = [random.randint(0, 100) for i in range(0, 6)]
def main():random_test()
if __name__ == '__main__':main()
3,运行结果
三,插入区间
1,查询简介
给你一个 无重叠的 ,按照区间起始端点排序的区间列表。
在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。
示例 1:
- 输入:intervals = [[1,3],[6,9]], newInterval = [2,5]
- 输出:[[1,5],[6,9]]
示例 2:
- 输入:intervals = [[1,2],[3,5],[6,7],[8,10],[12,16]], newInterval = [4,8]
- 输出:[[1,2],[3,10],[12,16]]
- 解释:这是因为新的区间 [4,8] 与 [3,5],[6,7],[8,10] 重叠。
示例 3:
- 输入:intervals = [], newInterval = [5,7]
- 输出:[[5,7]]
示例 4:
- 输入:intervals = [[1,5]], newInterval = [2,3]
- 输出:[[1,5]]
示例 5:
- 输入:intervals = [[1,5]], newInterval = [2,7]
- 输出:[[1,7]]
提示:
- 0<=intervals.length<=1040 <= intervals.length <= 10^40<=intervals.length<=104
- intervals[i].length==2intervals[i].length == 2intervals[i].length==2
- 0<=intervals[i][0]<=intervals[i][1]<=1050 <= intervals[i][0] <= intervals[i][1] <= 10^50<=intervals[i][0]<=intervals[i][1]<=105
- intervals根据intervals[i][0]按升序排列intervals 根据 intervals[i][0] 按 升序 排列intervals根据intervals[i][0]按升序排列
- newInterval.length==2newInterval.length == 2newInterval.length==2
- 0<=newInterval[0]<=newInterval[1]<=1050 <= newInterval[0] <= newInterval[1] <= 10^50<=newInterval[0]<=newInterval[1]<=105
2,查询代码
# -*- coding: utf-8 -*-
"""
Created on Thu Dec 30 16:23:07 2021
Function: 插入区间
@author: 小梁aixj
"""
class Interval(object):def __init__(self, s=0, e=0):self.start = sself.end = e
class Solution(object):def list2interval(self, list_interval):ret = []for i in list_interval:interval = Interval(i[0], i[1])ret.append(interval)return retdef interval2list(self, interval):ret = []x = [0,0]for i in interval:x[0] = i.startx[1] = i.endret.append(x)x = [0,0]return retdef insert(self, intervals, newInterval):""":type intervals: List[Interval]:type newInterval: Interval:rtype: List[Interval]"""if intervals is None or len(intervals) == 0:return [newInterval]intervals = self.list2interval(intervals)newInterval = Interval(newInterval[0], newInterval[1])intervals.sort(key=lambda x:x.start)pos = 0while pos < len(intervals):if newInterval.end < intervals[pos].start:intervals.insert(pos, newInterval)intervals = self.interval2list(intervals)return intervalsif self.check_overlap(intervals[pos], newInterval):temp = intervals.pop(pos)newInterval = self.merge_intervals(temp, newInterval)else:pos += 1if len(intervals) == 0 or pos == len(intervals):intervals.append(newInterval)intervals = self.interval2list(intervals)return intervalsdef check_overlap(self, curr_int, new_int):if curr_int.start <= new_int.start:if curr_int.end > new_int.start:return Trueelse:if curr_int.start <= new_int.end:return Truereturn Falsedef merge_intervals(self, int1, int2):temp_int = Interval()temp_int.start = min([int1.start, int2.start])temp_int.end = max([int1.end, int2.end])return temp_int
# %%
s = Solution()
print(s.insert(intervals = [[1,3],[6,9]], newInterval = [2,5]))#[[1,5], [6,9]
print(s.insert(intervals = [[1,5]], newInterval = [2,3]))#[[1,5]]
print(s.insert(intervals = [], newInterval = [5,7]))#[5,7]
3,运行结果
每日一练 — 2021.12.30相关推荐
- 每日一练 — 2021.12.01
文章目录 一.列表奇偶拆分 1.程序简介 [输入形式] [样例输入1] [样例输入2] [输出形式] [样例输出1] [样例输出2] [样例说明] 2.程序代码 3.运行结果,如下图 二.循环随机取数 ...
- 数据结构与算法——每日一练(12月)
文章目录 每日一练 12.1 12.2 12.3 12.4 12.5 12.6 12.7 12.8 12.9 12.10 12.11 12.12 12.13 12.14 12.15 12.16 12. ...
- STEMA 考试每日一练 2020.12.7 - 2021.11.30 试题及答案 - 刷题
2020.12.7 在以下几个选项中,正确的从小到大的排序是( ) A 地球<太阳系<可观测宇宙<银河系B 地球<太阳系<银河系<可观测宇宙C 太阳系<地球& ...
- 每日一练 — 2022.01.30
文章目录 一,买卖股票的最佳时机 II 1,程序简介 注意: 示例 1: 示例 2: 示例 3: 提示: 2,程序代码 3,运行结果 二,分数到小数 1,程序简介 示例 1: 示例 2: 示例 3: ...
- 东软始业教育结业考试 2021.12.30
一.单选题 1企业文化的三个层次包括精神理念层,()和形象物质层.1分/1分 A.行为管理层 B.行为制度层 C.制度理念层 D.管理制度层 提交答案:B正确答案:B 展开解析 2中国最大的离岸软件外 ...
- 每日总结(2021/12/15)
今天真的饱受折磨,不过最后感谢lzl学长和我的同学,我终于解决了那几道让我几度想拆电脑的题. 第一道:这道题的格式让我头疼,同时一点思路也没有,还好我同学点拨了一下. 现在有n个元素分别是1,2,3, ...
- 【每日早报】2019/12/30
✦ 新宝骏联手华为发布全球首款搭载HUAWEI Hicar智慧互联量产汽车 ✦ 蚂蚁金服:芝麻信用将不再与其他金融机构合作,聚焦商业信用服务 ✦ 茅台明年计划投放3.45万吨,将加大自营规模 ✦ 阿里 ...
- 每日总结(2021/12/13)
今天先把欠了很多天的老师作业交了: 然后看了看vj开的题组,发现根本动不了手,不知道从哪里做起:(十分痛苦)但是还是上网找题解看,发现了里面我挺多没见过的东西(虽然都简单的但还是总结一下吧): 1.& ...
- C语言每日一练——第64天:自动发牌程序
C语言每日一练 2021年12月7日 文章目录 题目描述 问题分析 代码实现 运行结果 网上参考 题目描述 一副扑克有52张牌,打桥牌时应将牌分给4个人.请设计一个程序完成自动发牌的工作.要求:黑桃用 ...
- C语言每日一练——第67天:谁在说谎问题
C语言每日一练 2021年12月12日 文章目录 题目描述 问题分析 代码实现 运行结果 网上参考 题目描述 现有张三.李四和王五3个人,张三说李四在说谎,李四说王五在说谎,而王五说张三和李四两人都在 ...
最新文章
- 二叉树的前序、中序、后序非递归遍历 python实现
- 设计模式学习2 工厂模式
- 黎明觉醒火种测试服务器维护,黎明觉醒火种测试什么时候上线 黎明觉醒火种测试资格获取方式(图文)...
- R语言应用实战系列(一)-基于R对QQ群聊天记录数据分析
- scss支持的嵌套css规则
- 企业贷款还不上,股东有偿还责任吗?
- 顶级分布式开源项目,配上这款可视化工具,真香!
- 学英语(4)---出门在外常用的英语句子
- oracle+rownum(),Oracle rownum和row_number()
- AudioDestinationNode
- ssis 有条件拆分_SSIS条件拆分概述
- AUTOSAR标准与产业发展动态
- 太厉害了MySQL总结的太全面了
- 基于CST电磁仿真软件的7-10GHz的微带带通滤波器的设计
- 利用感应加热原理,3秒即可烧红铁棒!
- QCC3040---DFU(OTA)固件生成方法OTA方法
- String Permutation
- openGL结合光照与纹理
- 在go mod中使用k8s.io/code-generator生成代码
- 详解SSD可靠性影响因素、原理和解决方法