学号编码:TooY0ung的学院(结构体)

news2024/11/22 10:38:13

根据6+6十二位编码规则,用城市代码和出生年编制学号。


  【本笔记适合初通算法的 coder 翻阅】


【学习的细节是欢悦的历程】

  • Python 官网:https://www.python.org/

  • Free:大咖免费“圣经”教程《 python 完全自学教程》,不仅仅是基础那么简单……
    地址:https://lqpybook.readthedocs.io/


  自学并不是什么神秘的东西,一个人一辈子自学的时间总是比在学校学习的时间长,没有老师的时候总是比有老师的时候多。
            —— 华罗庚


  • My CSDN主页、My HOT博、My Python 学习个人备忘录
  • 好文力荐、 老齐教室
等风来,不如追风去……


根据6+6十二位编码规则
TooY0ung的学院(结构体)
(用城市代码和出生年编制学号)


本文质量分:

90
本文地址: https://blog.csdn.net/m0_57158496/article/details/131496243

CSDN质量分查询入口:http://www.csdn.net/qc


目 录

  • ◆ TooY0ung的学院(结构体)
    • 1、题目描述
    • 2、解题思路
      • 2.1 输入数据解析
      • 2.2 解析出生年检索字典
      • 2.3 遍历“学生”编码学号
    • 3、python 代码运行效果截屏图片
    • 4、完整源码


◆ TooY0ung的学院(结构体)


题目来源于 CSDN 问答社区提问“TooY0ung的学院(结构体)”

1、题目描述


  TooY0ung开了一个编程学院,面向全球不限年龄、不限物种进行招生。也就是说,如果一只千年乌龟想来学习编程,TooY0ung也会让他入学。

  已知每位学生的两个信息:所属城市、以及出生年份。

  为了区别每位学生,TooY0ung需 要给他们进行学号编码。

  TooY0ung规定了一种12位的学号编码规则:前6位用来记录城市编号,后6位用来表示年龄编号。

  • 更具体地说:

    a、如果城市的编号不足6位,则需要在前面补0,直至补齐6位。

    b、年龄是根据同一个城市学生的年龄来进行编号1、2,、3等,比如一个学员是某城市中,出生年份最早的(年龄最大的),则他的后六位记录为1,与城市规则一致,如果不足6位则在前面用0补齐6位,那么这个学员的年龄编码就是000001;同理,如果某学员是某城市中,出生年份第二早的,那么这个学员的年龄编码就是000002。

  • 输入:
    输入包含多行,第一行输入两个数,n和m,,n表示全球的城市数量,m表示学员人数。接下来m行,每行输入两个数字ci和yi,分别表示第i名学员的城市编号和出生年份。(数据保证所有学员的出生年份不出现重复)

  • 输出:
    输出包含m行,每行个12位数字,表示该学员的学号。

  • 输入样例1
    25
    1 1995
    2 1996
    1 1993
    1 1994
    2 1992

  • 输出样例1
    000001000003
    000002000002
    000001000001
    000001000002
    000002000001

  • 提示
    关于样例解释:2个城市,5名学员。城市1有三名学员:出生年份分别为1995、1993、1994。城市2有两名学员:出生年份分别为1996、1992。则第一名学员的年龄在城市1中排名第3,所以他的城市编号为1,年龄编号为3,分别补齐6位后,学号为:000001000003;第二名学员的年龄在城市2中排名第2,所以他的城市编号为2,年龄编号为2,分别补齐6位后,学号为:000002000002;第三名学员的年龄在城市1中排名第1,所以他的城市编号为1,年龄编号为1,分别补齐6位后,学号为:000001000001;第四名学员的年龄在城市1中排名第2,所以他的城市编号为1,年龄编号为2,分别补齐6位后,学号为:000001000002;第五名学员的年龄在城市2中排名第1,所以他的城市编号为2,年龄编号为1,分别补齐6位后,学号为:000002000001。

  • 来自TooY0ung温暖的提示:
    输出保证6位,如果不足在前面补0有c语言快捷操作写法:假设要输出的变量为int类型的a,则可以写printf("%06d",a);Python中①有字符串方法str.zfill()可以用’0’字符填充左侧以达到固定长度。如’5’。zfill(6),已是’000005’;②还可以用
    字符串格式化,如插值字符串格式f"{5:0>6}",也表示用0填充左侧达到6位,也是’000005’。

  • 数据范围:
    对于15%的数据,1<=n<=100, 1<=m<=100,1<=ci<=n,1<=yi<=109;对于100%的数据,1<=n<=105
    1<=m<=105,1<=ci<=n, 1<=yi<=109。数据保证yi不重复。



回页目录

2、解题思路


  此题目的难点在于对学生出生年编码——要先统计出各个城市的学生总数,对其出生年进行排序,生成出生年检索字典;遍历输入对学生的出生年进行编码。用城市为标识分拣输入,可以把各个城市的学员出生年存入一个列表,排升序,再给出生年按序编号生成出生年码表,然后对各城市学员分别编号即可。城市码直接前缀0编码,出生年检索“出生年码表”序号前缀0,拼接两段编码即成学员学号编码。
  

2.1 输入数据解析


  用str.split() 方法拆分行,再把每行解析成列表。int()函数转换数字字符为整型。
  • python 代码

    in_str = in_str.split('\n')
    n, stus = list(map(int, in_str[0].split())), [[int(j) for j in i.split()] for i in in_str[1:]]

  • 代码运行效果截屏图片
    在这里插入图片描述


回页目录

2.2 解析出生年检索字典


  用字典解析式生成学生出生年检索字典。

    studict = {}

    for k,v in stus:
        studict[k] = studict.get(k, []) + [v]
    
    studict = {city: {year: k+1 for k,year in enumerate(sorted(studict.get(city)))} for city in studict} # 生成解析学号编码的字典。

  • 代码运行效果截屏图片
    在这里插入图片描述

2.3 遍历“学生”编码学号


  用for循环遍历学生列表,检索出生年,生成出生年编码,拼接学生12位学号编码。

    for city,year in stus: # 遍历轮询编码学号。
        print(f"{city:0>6}{studict.get(city).get(year):0>6}") # 插值字符串格式化输出学号编码。

  • 代码运行效果截屏图片
    在这里插入图片描述

3、python 代码运行效果截屏图片


  • 代码运行效果截屏图片
    在这里插入图片描述


回页目录

4、完整源码

(源码较长,点此跳过源码)

#!/sur/bin/nve python
# coding: utf-8


def encode(in_str):
    ''' 学号编码 '''
    in_str = in_str.split('\n')
    n, stus = list(map(int, in_str[0].split())), [[int(j) for j in i.split()] for i in in_str[1:]]
    #input(f"\nn = {n}\nstus = {stus}") # 查看解析出的输入数据。
    studict = {}

    for k,v in stus:
        studict[k] = studict.get(k, []) + [v]
    
    studict = {city: {year: k+1 for k,year in enumerate(sorted(studict.get(city)))} for city in studict} # 生成解析学号编码的字典。
    #print(studict) # 查看生成的学号编码字典。
    
    for city,year in stus: # 遍历轮询编码学号。
        print(f"{city:0>6}{studict.get(city).get(year):0>6}") # 插值字符串格式化输出学号编码。


if __name__ == '__main__':
    in_str = '''2 5
1 1995
2 1996
1 1993
1 1994
2 1992'''
    print(f"\n输入:\n{in_str}\n\n输出:")
    encode(in_str) # 调用函数编码学号。


回页首

上一篇:  模拟随机验证码(模拟随机验证码)
下一篇: 

我的HOT博:

  本次共计收集 219 篇博文笔记信息,总阅读量 31.00w,平均阅读量 1415。已生成 21 篇阅读量不小于 3000 的博文笔记索引链接。数据采集于 2023-06-26 05:46:38 完成,用时 3 分 13.20 秒。


  1. 让QQ群昵称色变的神奇代码
    ( 56157 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/122566500
    点赞:24   踩 :0  收藏:81  打赏:0  评论:17
    本篇博文笔记于 2022-01-18 19:15:08 首发,最晚于 2022-01-20 07:56:47 修改。
  2. pandas 数据类型之 DataFrame
    ( 8712 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/124525814
    点赞:6   踩 :0  收藏:29  打赏:0  评论:0
    本篇博文笔记于 2022-05-01 13:20:17 首发,最晚于 2022-05-08 08:46:13 修改。
  3. 个人信息提取(字符串)
    ( 6784 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/124244618
    点赞:1   踩 :0  收藏:12  打赏:0  评论:0
    本篇博文笔记于 2022-04-18 11:07:12 首发,最晚于 2022-04-20 13:17:54 修改。
  4. 罗马数字转换器|罗马数字生成器
    ( 6625 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/122592047
    点赞:0   踩 :0  收藏:1  打赏:0  评论:0
    本篇博文笔记于 2022-01-19 23:26:42 首发,最晚于 2022-01-21 18:37:46 修改。
  5. Python字符串居中显示
    ( 6545 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/122163023
    点赞:1   踩 :0  收藏:6  打赏:0  评论:1
    本篇博文笔记于 2021-12-26 23:35:29 发布。
  6. Python列表(list)反序(降序)的7种实现方式
    ( 5505 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/128271700
    点赞:4   踩 :0  收藏:18  打赏:0  评论:8
    本篇博文笔记于 2022-12-11 23:54:15 首发,最晚于 2023-03-20 18:13:55 修改。
  7. 斐波那契数列的递归实现和for实现
    ( 5373 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/122355295
    点赞:4   踩 :0  收藏:2  打赏:0  评论:8
    本篇博文笔记于 2022-01-06 23:27:40 发布。
  8. 练习:字符串统计(坑:f‘string‘报错)
    ( 4958 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/121723096
    点赞:0   踩 :0  收藏:1  打赏:0  评论:0
    本篇博文笔记于 2021-12-04 22:54:29 发布。
  9. 练习:尼姆游戏(聪明版/傻瓜式•人机对战)
    ( 4709 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/121645399
    点赞:14   踩 :0  收藏:42  打赏:0  评论:0
    本篇博文笔记于 2021-11-30 23:43:17 发布。
  10. python清屏
    ( 4655 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/120762101
    点赞:0   踩 :0  收藏:5  打赏:0  评论:0
    本篇博文笔记于 2021-10-14 13:47:21 发布。
  11. 回车符、换行符和回车换行符
    ( 4611 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/123109488
    点赞:1   踩 :0  收藏:2  打赏:0  评论:0
    本篇博文笔记于 2022-02-24 13:10:02 首发,最晚于 2022-02-25 20:07:40 修改。
  12. 密码强度检测器
    ( 4029 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/121739694
    点赞:1   踩 :0  收藏:4  打赏:0  评论:0
    本篇博文笔记于 2021-12-06 09:08:25 首发,最晚于 2022-11-27 09:39:39 修改。
  13. 练习:生成100个随机正整数
    ( 4028 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/122558220
    点赞:1   踩 :0  收藏:6  打赏:0  评论:0
    本篇博文笔记于 2022-01-18 13:31:36 首发,最晚于 2022-01-20 07:58:12 修改。
  14. 罗马数字转换器(用罗马数字构造元素的值取模实现)
    ( 3910 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/122608526
    点赞:0   踩 :0  收藏:0  打赏:0  评论:0
    本篇博文笔记于 2022-01-20 19:38:12 首发,最晚于 2022-01-21 18:32:02 修改。
  15. 练习:班里有人和我同生日难吗?(概率probability、蒙特卡洛随机模拟法)
    ( 3718 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/124424935
    点赞:1   踩 :0  收藏:3  打赏:0  评论:0
    本篇博文笔记于 2022-04-26 12:46:25 首发,最晚于 2022-04-27 21:22:07 修改。
  16. 我的 Python.color() (Python 色彩打印控制)
    ( 3679 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/123194259
    点赞:2   踩 :0  收藏:7  打赏:0  评论:0
    本篇博文笔记于 2022-02-28 22:46:21 首发,最晚于 2022-03-03 10:30:03 修改。
  17. 练习:仿真模拟福彩双色球——中500w巨奖到底有多难?跑跑代码就晓得了。
    ( 3422 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/125415626
    点赞:3   踩 :0  收藏:4  打赏:0  评论:3
    本篇博文笔记于 2022-06-22 19:54:20 首发,最晚于 2022-06-23 22:41:33 修改。
  18. 聊天消息敏感词屏蔽系统(字符串替换 str.replace(str1, *) )
    ( 3234 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/124539589
    点赞:3   踩 :0  收藏:2  打赏:0  评论:3
    本篇博文笔记于 2022-05-02 13:02:39 首发,最晚于 2022-05-21 06:10:42 修改。
  19. random.sample()将在python 3.9x后续版本中被弃用
    ( 3229 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/120657230
    点赞:0   踩 :0  收藏:0  打赏:0  评论:0
    本篇博文笔记于 2021-10-08 18:35:09 发布。
  20. Linux 脚本文件第一行的特殊注释符(井号和感叹号组合)的含义
    ( 3207 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/123087606
    点赞:0   踩 :0  收藏:4  打赏:0  评论:3
    本篇博文笔记于 2022-02-23 13:08:07 首发,最晚于 2022-04-04 23:52:38 修改。
  21. 练习:求列表(整数列表)平衡点
    ( 3093 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/121737612
    点赞:0   踩 :0  收藏:0  打赏:0  评论:0
    本篇博文笔记于 2021-12-05 23:28:10 发布。
推荐条件 阅读量突破三千
(更多热博,请点击蓝色文字跳转翻阅)

回页首


老齐漫画头像

精品文章:

  • 好文力荐:齐伟书稿 《python 完全自学教程》 Free连载(已完稿并集结成书,还有PDF版本百度网盘永久分享,点击跳转免费🆓下载。)
  • OPP三大特性:封装中的property
  • 通过内置对象理解python'
  • 正则表达式
  • python中“*”的作用
  • Python 完全自学手册
  • 海象运算符
  • Python中的 `!=`与`is not`不同
  • 学习编程的正确方法

来源:老齐教室


回页首

◆ Python 入门指南【Python 3.6.3】


好文力荐:

  • 全栈领域优质创作者——[寒佬](还是国内某高校学生)博文“非技术文—关于英语和如何正确的提问”,“英语”和“会提问”是编程学习的两大利器。
  • 【8大编程语言的适用领域】先别着急选语言学编程,先看它们能干嘛
  • 靠谱程序员的好习惯
  • 大佬帅地的优质好文“函数功能、结束条件、函数等价式”三大要素让您认清递归

CSDN实用技巧博文:

  • 8个好用到爆的Python实用技巧
  • python忽略警告
  • Python代码编写规范
  • Python的docstring规范(说明文档的规范写法)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/708906.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Web-文件上传漏洞总结

目录 1、常规前端绕过 2、修改文件类型 3、使用 .user.ini 或 .htaccess&#xff08;可能还存在大小写绕过&#xff09; 4、使用字典爆破可行后缀 5、结合文件包含漏洞使用图片马 6、条件竞争 1、常规前端绕过 如下图&#xff0c;在前端存在限制&#xff0c;只能上传图片…

springboot校园点餐小程序

校园点餐系统 springboot校园点餐系统小程序 java校园点餐小程序 技术&#xff1a; 基于springbootvue小程序校园点餐系统的设计与实现 运行环境&#xff1a; JAVA版本&#xff1a;JDK1.8 IDE类型&#xff1a;IDEA、Eclipse都可运行 数据库类型&#xff1a;MySql&#xff08;…

GPT模型训练实践(2)-Transformer模型工作机制

Transformer 的结构如下&#xff0c;主要由编码器-解码器组成&#xff0c;因为其不需要大量标注数据训练和天然支持并行计算的接口&#xff0c;正在全面取代CNN和RNN&#xff1a; 扩展阅读&#xff1a;What Is a Transformer Model? ​ ​ 其中 编码器中包含自注意力层和前馈…

HCIA回顾笔记整理

OSI 7层参考模式 开放式系统互联参考模型 应用层 抽象语言--> 编码 表示层 编码-->二进制 会话层 提供应用程序地址 -- 无标准 上三层&#xff0c;应用程序加工数据的部分 下四层&#xff0c;数据流层 负责数据传输 传输层 数据分段&#xff08;…

Hive基础知识

1.Hive简介 Hive是由Facebook开源用于解决海量结构化日志的数据统计工具。Hive是基于Hadoop的一个数据仓库工具&#xff0c;可以将结构化的数据文件映射为一张表&#xff0c;并提供类SQL查询功能。 2.Hive本质 Hive的本质是将HQL转化成MapReduce程序。 Hive处理的数据存储在H…

Git远程操作

目录 分布式版本控制系统 远程仓库 新建远程仓库 管理仓库 issue Pull Request 克隆远程仓库到本地 向远程仓库推送 拉取远程仓库 配置git 忽略特殊文件 给命令配置别名 分布式版本控制系统 我们之前所说的所有内容&#xff0c;都是在本地&#xff0c;也就是只在你的…

Java——抽象类和接口

一、抽象类 1.1、抽象类 使用abstract关键字定义的类称为抽象类 public abstract class Employee {private String name;private int number; }在 Java中抽象类不可以实例化为对象。例如&#xff1a; 1.2、抽象方法 使用abstract关键字定义的方法称为抽象方法。抽象方法没…

IDEA自动导入包

问题 IDEA如何自动导入包 详细问题 项目开发中&#xff0c;笔者常常先将光标瞄准所需导入的类&#xff0c;后使用快捷键AltEnter进行导包操作。这种方式需要逐个处理&#xff0c;相对费事费力&#xff0c;IDEA如何自动导入所有程序所涉及的包呢 解决方案 1、左上角 F i l …

基于Elman神经网络的电力负荷预测(附源码)

一、算法原理 Elman神经网络是一种典型的动态递归神经网络&#xff0c;它是在BP网络基本结构的基础上&#xff0c;在隐含层增加一个承接层&#xff0c;作为一步延时算子&#xff0c;达到记忆的目的&#xff0c;从而使系统具有适应时变特性的能力&#xff0c;增强了网络的全局稳…

2017年全国硕士研究生入学统一考试管理类专业学位联考逻辑试题——纯享题目版

&#x1f3e0;个人主页&#xff1a;fo安方的博客✨ &#x1f482;个人简历&#xff1a;大家好&#xff0c;我是fo安方&#xff0c;考取过HCIE Cloud Computing、CCIE Security、CISP、RHCE、CCNP RS、PEST 3等证书。&#x1f433; &#x1f495;兴趣爱好&#xff1a;b站天天刷&…

碳排放预测模型 | Python实现基于SVR支持向量机回归的碳排放预测模型

文章目录 效果一览文章概述研究内容源码设计参考资料效果一览 文章概述 碳排放预测模型 | Python实现基于SVR支持向量机回归的碳排放预测模型 研究内容 碳排放被认为是全球变暖的最主要原因之一。 该项目旨在提供各国碳排放未来趋势的概述以及未来十年的全球趋势预测。 其方法是…

Quiz 16_3-1: Databases | Python for Everybody 配套练习_解题记录

文章目录 Python for Everybody课程简介Quiz 16_3-1: Databases单选题&#xff08;1-11&#xff09;操作题Autograder: Single Table SQL Python for Everybody 课程简介 Python for Everybody 零基础程序设计&#xff08;Python 入门&#xff09; This course aims to teach …

CS CK VT系列贴片型铝电解电容器特点

CS CK VT系列贴片型铝电解电容器就是宽温通用品&#xff0c;也就说电性和RVT贴片电解电容器和RST贴片电解电容器一样&#xff0c;105℃2000小时寿命&#xff0c;用于消费类电子。偶尔CS贴片电解电容器&#xff0c;CK贴片电解电容器和VT贴片电解电容器会有缩体产品。

菜鸡shader:L6 人物材质基础模型以及三种透明特效AC、AB和AD

文章目录 人物材质基础模型unity练练看实现代码实现最后效果 透明特效AC效果展示 AB效果展示 AD效果展示 自定义混合模式效果展示 人物材质基础模型 这里是老师布置的作业&#xff0c;要求把之前学过的所有模型都组合起来&#xff0c;组成一个基本的人物材质模型。这里在上作业…

基于安卓的接的快接单平台/基于Android的快的接单平台

【摘要】 随着互联网的趋势的到来&#xff0c;各行各业都在考虑利用互联网将自己的信息推广出去&#xff0c;最好方式就是建立自己的平台信息&#xff0c;并对其进行管理&#xff0c;随着现在智能手机的普及&#xff0c;人们对于智能手机里面的应用接的快接单平台也在不断的使用…

设计模式学习之模板方法模式

设计模式系列往期文章 设计模式学习之策略模式设计模式学习之策略模式在前端的应用设计模式学习之简单工厂模式设计模式学习之工厂方法模式设计模式学习之抽象工厂模式设计模式学习之策略模式和简单工厂模式的对比设计模式学习之观察者模式 模板方法模式是行为型设计模式的一…

获取Alibaba Nacos控制台管理权限

人活着&#xff0c;就得随时准备经受磨难。他已经看过一些书&#xff0c;知道不论是普通人还是了不起的人&#xff0c;都要在自己的一生中经历许多磨难。 磨难使人坚强。 漏洞复现 访问漏洞url 输入默认账号密码&#xff1a;nacos/nacos 成功获取Alibaba Nacos控制台管理权…

全面揭秘!火山引擎边缘 IaaS 混合部署架构实践

2023年6月16日-17日 51CTO WOT全球技术创新大会在北京成功举办。在快速发展的数字化时代&#xff0c;云计算和边缘计算作为科技领域的两大核心驱动力&#xff0c;正引领着全球技术变革的潮流。为了探讨云时代基础设施在科技发展中的关键作用&#xff0c;推动边缘云行业的进一步…

【夏虫语冰】Office操作技巧汇总

文章目录 1、Word技巧1.1 添加题注 2、Visio技巧2.1 快捷键2.2 格式刷 结语 1、Word技巧 1.1 添加题注 在 Word 中添加、删除标题或设置其格式&#xff1a; 可以为图表、公式或其他对象添加题注。 题注是带编号的标签&#xff0c;可将其添加到图表、表格、公式或其他对象。 …

springboot+echarts +mysql制作数据可视化大屏(四图)

作者水平低&#xff0c;如有错误&#xff0c;恳请指正&#xff01;谢谢&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; 项目简单&#xff0c;适合大学生参考 分类专栏还有其它的可视化博客哦&#xff01; 专栏地址&#xff1a;https://blog.csdn.net/qq_559…