文章目录

  • 一,编程通过键盘输入每一位运动员
    • 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相关推荐

  1. 每日一练 — 2021.12.01

    文章目录 一.列表奇偶拆分 1.程序简介 [输入形式] [样例输入1] [样例输入2] [输出形式] [样例输出1] [样例输出2] [样例说明] 2.程序代码 3.运行结果,如下图 二.循环随机取数 ...

  2. 数据结构与算法——每日一练(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. ...

  3. STEMA 考试每日一练 2020.12.7 - 2021.11.30 试题及答案 - 刷题

    2020.12.7 在以下几个选项中,正确的从小到大的排序是( ) A 地球<太阳系<可观测宇宙<银河系B 地球<太阳系<银河系<可观测宇宙C 太阳系<地球& ...

  4. 每日一练 — 2022.01.30

    文章目录 一,买卖股票的最佳时机 II 1,程序简介 注意: 示例 1: 示例 2: 示例 3: 提示: 2,程序代码 3,运行结果 二,分数到小数 1,程序简介 示例 1: 示例 2: 示例 3: ...

  5. 东软始业教育结业考试 2021.12.30

    一.单选题 1企业文化的三个层次包括精神理念层,()和形象物质层.1分/1分 A.行为管理层 B.行为制度层 C.制度理念层 D.管理制度层 提交答案:B正确答案:B 展开解析 2中国最大的离岸软件外 ...

  6. 每日总结(2021/12/15)

    今天真的饱受折磨,不过最后感谢lzl学长和我的同学,我终于解决了那几道让我几度想拆电脑的题. 第一道:这道题的格式让我头疼,同时一点思路也没有,还好我同学点拨了一下. 现在有n个元素分别是1,2,3, ...

  7. 【每日早报】2019/12/30

    ✦ 新宝骏联手华为发布全球首款搭载HUAWEI Hicar智慧互联量产汽车 ✦ 蚂蚁金服:芝麻信用将不再与其他金融机构合作,聚焦商业信用服务 ✦ 茅台明年计划投放3.45万吨,将加大自营规模 ✦ 阿里 ...

  8. 每日总结(2021/12/13)

    今天先把欠了很多天的老师作业交了: 然后看了看vj开的题组,发现根本动不了手,不知道从哪里做起:(十分痛苦)但是还是上网找题解看,发现了里面我挺多没见过的东西(虽然都简单的但还是总结一下吧): 1.& ...

  9. C语言每日一练——第64天:自动发牌程序

    C语言每日一练 2021年12月7日 文章目录 题目描述 问题分析 代码实现 运行结果 网上参考 题目描述 一副扑克有52张牌,打桥牌时应将牌分给4个人.请设计一个程序完成自动发牌的工作.要求:黑桃用 ...

  10. C语言每日一练——第67天:谁在说谎问题

    C语言每日一练 2021年12月12日 文章目录 题目描述 问题分析 代码实现 运行结果 网上参考 题目描述 现有张三.李四和王五3个人,张三说李四在说谎,李四说王五在说谎,而王五说张三和李四两人都在 ...

最新文章

  1. 二叉树的前序、中序、后序非递归遍历 python实现
  2. 设计模式学习2 工厂模式
  3. 黎明觉醒火种测试服务器维护,黎明觉醒火种测试什么时候上线 黎明觉醒火种测试资格获取方式(图文)...
  4. R语言应用实战系列(一)-基于R对QQ群聊天记录数据分析
  5. scss支持的嵌套css规则
  6. 企业贷款还不上,股东有偿还责任吗?
  7. 顶级分布式开源项目,配上这款可视化工具,真香!
  8. 学英语(4)---出门在外常用的英语句子
  9. oracle+rownum(),Oracle rownum和row_number()
  10. AudioDestinationNode
  11. ssis 有条件拆分_SSIS条件拆分概述
  12. AUTOSAR标准与产业发展动态
  13. 太厉害了MySQL总结的太全面了
  14. 基于CST电磁仿真软件的7-10GHz的微带带通滤波器的设计
  15. 利用感应加热原理,3秒即可烧红铁棒!
  16. QCC3040---DFU(OTA)固件生成方法OTA方法
  17. String Permutation
  18. openGL结合光照与纹理
  19. 在go mod中使用k8s.io/code-generator生成代码
  20. 详解SSD可靠性影响因素、原理和解决方法

热门文章

  1. python 求定积分
  2. python中转义字符用法及例子,python的转义字符及用法代码解析
  3. 【Win10电脑更新】Win10电脑更新后小娜Cortana不能登录、咨询和兴趣不能查看的问题怎么解决
  4. 什么是“决策表”?什么是“决策树”?
  5. ubuntu由于安装搜狗拼音导致的黑屏(或屏幕显示异常)
  6. 网页设计常用色彩搭配表 - 配色表
  7. java文件上传后台
  8. wc,鹅厂码农最常用的三大编程语言,Java竟然没上榜!
  9. Angular2 Directive讲解
  10. 一个基于vue的时间轴轮播图插件