【Python 千题 —— 基础篇】录入学生信息

题目描述

题目描述

在开学时,需要录入学生的身份信息。每次在控制台输入学生身份证号,按下回车后录入新的信息。如果输入的身份证号已经录入过,需要提示 “该身份证号已录入” 并继续等待下一个输入。如果按下两次回车键,则结束录入。

输入描述

输入若干学生身份证号,每个身份证号独占一行。

输出描述

输出已录入的身份证号。

示例

示例 ①

在这里插入图片描述


代码讲解

下面是本题的代码:

# 描述: 在开学时,需要录入学生的身份信息。每次在控制台输入学生身份证号,按下回车后录入新的信息。
# 如果输入的身份证号已经录入过,需要提示 "该身份证号已录入" 并继续等待下一个输入。如果按下两次回车键,则结束录入。
# 输入: 输入若干学生身份证号,每个身份证号独占一行。
# 输出: 输出已录入的身份证号。# 创建一个集合来存储已录入的身份证号
recorded_ids = set()while True:# 接收用户输入的身份证号user_input = input("请输入学生身份证号(按下两次回车键结束录入): ")# 如果用户输入为空,表示结束录入if not user_input:break# 如果身份证号已经录入过,提示用户并继续等待下一个输入if user_input in recorded_ids:print("该身份证号已录入")else:# 记录已录入的身份证号recorded_ids.add(user_input)# 输出已录入的身份证号
print("已录入的身份证号:")
for id in recorded_ids:print(id)

思路讲解

下面是这个Python编程习题的思路讲解,适用于初学者:

  1. 创建一个集合来存储已录入的身份证号

    • 我们使用集合 recorded_ids 来存储已录入的身份证号。集合是一种无重复元素的数据结构,这将帮助我们检查身份证号是否已经录入。
    recorded_ids = set()
    
  2. 循环录入身份证号

    • 我们使用 while 循环来不断等待用户输入身份证号。用户可以输入多个身份证号,每个身份证号独占一行。
    while True:user_input = input("请输入学生身份证号(按下两次回车键结束录入): ")
    
  3. 检查重复录入

    • 在用户输入身份证号后,我们首先检查是否用户按下了两次回车键。如果是,表示结束录入,我们跳出循环。
    • 否则,我们检查用户输入的身份证号是否已经在 recorded_ids 集合中。如果是,我们输出 “该身份证号已录入” 并继续等待下一个输入。
    • 如果身份证号没有重复,我们将其添加到 recorded_ids 集合中。
    if not user_input:breakif user_input in recorded_ids:print("该身份证号已录入")
    else:recorded_ids.add(user_input)
    
  4. 输出已录入的身份证号

    • 最后,我们输出已录入的身份证号,以便用户查看。
    print("已录入的身份证号:")
    for id in recorded_ids:print(id)
    
  5. 结束程序

    • 用户可以通过按下两次回车键来结束录入,此时循循环会终止,程序结束。

这个习题涵盖了集合的使用、循环、条件语句以及用户输入的处理。它帮助学习者理解如何防止重复录入信息,并存储已录入的数据。

相关知识点

这个Python编程习题涉及了以下主要知识点:

  1. 集合

    • 集合是Python中的一种数据结构,用于存储无重复元素的集合。在这个题目中,我们使用集合 recorded_ids 来存储已录入的身份证号。
    recorded_ids = set()
    
  2. 循环

    • 我们使用 while 循环来不断等待用户输入身份证号,直到用户按下两次回车键结束录入。
    while True:user_input = input("请输入学生身份证号(按下两次回车键结束录入): ")
    
  3. 条件语句

    • 我们使用条件语句来检查用户输入的情况,包括检查是否按下两次回车键以结束录入,以及检查是否身份证号已经录入过。
    if not user_input:# 用户按下两次回车键,结束录入breakif user_input in recorded_ids:print("该身份证号已录入")
    else:recorded_ids.add(user_input)
    
  4. 用户输入

    • 我们使用 input 函数来接收用户的输入,并在控制台显示提示信息。
    user_input = input("请输入学生身份证号(按下两次回车键结束录入): ")
    

这个习题适合初学者,因为它涵盖了Python编程的基础知识,包括集合、循环、条件语句和用户输入的处理。帮助学习者理解如何录入信息并避免重复录入。

作者信息

作者 : 繁依Fanyi
CSDN: https://techfanyi.blog.csdn.net
掘金:https://juejin.cn/user/4154386571867191

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

易点易动固定资产管理系统:全生命周期固定资产管理解决方案

在现代商业环境中,固定资产是企业成功的重要组成部分。然而,对于许多企业来说,固定资产管理往往是一个复杂的挑战。为了帮助企业高效管理和跟踪其固定资产,我们引入了易点易动固定资产管理系统。本系统旨在提供全面的解决方案&…

Vue 传参踩坑之旅——事件总线与 props

Vue 传参踩坑之旅——事件总线与 props 缘由 今天突然发现项目出现了一个 bug,这里简单描述一下。 这里有 A、B、C、D 四个组件,关系为 A - 祖先、B - 父、C - 子、D - 叔(实际业务组件关系复杂很多)。 A - 祖先 B - 父 C - 子…

【Leetcode】【数据结构】【C语言】判断两个链表是否相交并返回交点地址

struct ListNode *getIntersectionNode(struct ListNode *headA, struct ListNode *headB) {struct ListNode *tailAheadA;struct ListNode *tailBheadB;int count10;int count20;//分别找尾节点,并顺便统计节点数量:while(tailA){tailAtailA->next;c…

uniapp小程序接入腾讯云【增强版人脸核身接入】

文档地址:https://cloud.tencent.com/document/product/1007/56812 企业申请注册这边就不介绍了,根据官方文档去申请注册。 申请成功后,下载【微信小程序sdk】 一、解压sdk,创建wxcomponents文件夹 sdk解压后发现是原生小程序代…

多线程-阻塞队列

1. Quenue Quenue和常用的List、Set都是Collection的子接口,常见的队列一般都有阻塞队列(BlockingQueue),双端队列、非阻塞队列 2. BlockingQueue的4组API 1. 抛出异常 2. 不抛出异常 3. 一直阻塞 4. 等待超时 总结

连接图书馆wifi无法验证如何解决

我们去图书馆连接wifi,无法验证自己身份,怎么办? 一般是电脑怀疑是不安全,进行了拦截。 我们点击不安全 再点击 与此站点的连接不安全 , 了解详情就可以显示登陆界面了,

mysql 全文检索 demo

mysql5.6.7之后开始支持中文全文检索一直没用过,这次试试。 创建表 CREATE TABLE articles (id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,title VARCHAR (200),body TEXT,FULLTEXT (title, body) WITH PARSER ngram ) ENGINE INNODB DEFAULT CHARSETut…

10 # 手写 every 方法

every 使用 every() 方法测试一个数组内的所有元素是否都能通过指定函数的测试。它返回一个布尔值。 ele&#xff1a;表示数组中的每一个元素index&#xff1a;表示数据中元素的索引array&#xff1a;表示数组 <script>var arr [1, 3, 5, 7, 8];var result arr.ever…

【配置】如何在打包Spring Boot项目时按需使用日常、测试、预发、正式环境的配置文件

文章目录 前言1. 创建5个配置文件2. 在pom.xml文件中如下配置3. 在application.properties中加入环境变量 前言 在我们开发项目的时候&#xff0c;一般有四套环境&#xff1a;日常、测试、预发、正式。日常环境作为我们开发环境&#xff1b;测试环境给测试同学测试功能&#x…

【电路笔记】-串联RLC电路分析

串联RLC电路分析 文章目录 串联RLC电路分析1、概述2、瞬态响应3、AC响应4、RCL和CLR配置5、结论 电阻器 、电感器 (L) 和电容器 © 是电子器件中的三个基本无源元件。 它们的属性和行为已在交流电阻、交流电感和交流电容文章中详细介绍。 在本文中&#xff0c;我们将重点讨…

内网穿透工具之花生壳(二)

目录 开始教程 第一步&#xff1a;进入管理官网&#xff0c;注册并登录账号 第二步&#xff1a;进入 管理页面 第三步&#xff1a;添加映射表&#xff0c;然后填写一下基本内容 总结&#xff1a;emmm,反正都很快上手&#xff0c;但是这个就免费1G流量,这个免费的还是https…

操作系统 day06(进程控制、原语)

进程控制的概念 原语 怎么实现进程控制—用原语实现 如果不能一气呵成&#xff0c;那么会出现操作系统中的某些关键数据结构信息不统一的情况&#xff0c;这会影响操作系统进行别的管理工作&#xff0c;如下图所示&#xff1a; 原语的原子性怎么实现 正常情况下&#xff…

【学习笔记】MySQL死锁及热点行问题

目录 案例优化思路死锁的一些记录笔记热点行问题 本文记录下关于MySQL优化的学习和一点点思考。 案例 一个并发比较大的下单接口&#xff1b; 包括 step1 扣减商品库存step2 生成订单数据step3 记录操作记录 伪代码如下&#xff0c;底层使用的是MySQL数据库&#xff0c;单体服务…

OFDM深入学习及MATLAB仿真

文章目录 前言一、OFDM 基本原理及概念1、OFDM 简介2、子载波3、符号4、子载波间隔与符号长度之间的关系 二、涉及的技术1、保护间隔2、交织3、信道编码4、扩频5、导频6、RF&#xff08;射频&#xff09;调制7、信道估计 三、变量间的关系四、IEEE 802.11a WLAN PHY 层标准五、…

84 柱状图中的最大的矩形(单调栈)

题目 柱状图中的最大的矩形 给定 n 个非负整数&#xff0c;用来表示柱状图中各个柱子的高度。每个柱子彼此相邻&#xff0c;且宽度为 1 。 求在该柱状图中&#xff0c;能够勾勒出来的矩形的最大面积。 示例 1: 输入&#xff1a;heights [2,1,5,6,2,3] 输出&#xff1a;10 …

前端-选中DOM定位源代码

用到的工具&#xff1a;react-dev-inspector 使用流程 根据react-dev-inspector文档进行配置 安装 yarn add --dev react-dev-inspector配置&#xff1a;在根目录下配置Inspector import { createRoot } from react-dom/client import { Inspector } from react-dev-inspe…

0004Java安卓程序设计-springboot基于APP的鲜花商城

文章目录 **摘 要****目录**系统设计开发环境 编程技术交流、源码分享、模板分享、网课教程 &#x1f427;裙&#xff1a;776871563 摘 要 本毕业设计的内容是设计并且实现一个基于APP的鲜花商城。它是在Windows下&#xff0c;以MYSQL为数据库开发平台&#xff0c;java技术和…

【Java】基于SpringBoot创建Web页面并热更新

&#x1f60f;★,:.☆(&#xffe3;▽&#xffe3;)/$:.★ &#x1f60f; 这篇文章主要介绍基于SpringBoot创建Web页面并热更新。 学其所用&#xff0c;用其所学。——梁启超 欢迎来到我的博客&#xff0c;一起学习&#xff0c;共同进步。 喜欢的朋友可以关注一下&#xff0c;下…

竞赛 目标检测-行人车辆检测流量计数

文章目录 前言1\. 目标检测概况1.1 什么是目标检测&#xff1f;1.2 发展阶段 2\. 行人检测2.1 行人检测简介2.2 行人检测技术难点2.3 行人检测实现效果2.4 关键代码-训练过程 最后 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 行人车辆目标检测计数系统 …

linux gdb 调试 常见调试命令介绍+总结

1.调试前准备 -g gcc arcg.c -g -oO -o app //必须添加-g 2.调试 gdb gdb app 3.常见调试命令 set args 1 2 3 4 5 6 //设置参数 show args //查看参数 3.1执行程序 1.start2. run gdb app set args 1 2 3 4 5 start //执行一行 c //继续执行 q…