Python 录入学生信息 提示用户在控制台输入3个学生的信息,学生信息包含姓名、年龄

2023-10-29

需求:

按照以下要求完成代码的编写
第一步:录入学生信息
1)提示用户在控制台输入3个学生的信息,学生信息包含姓名、年龄
2)要求:封装录入单个学生信息的函数,并返回学生的信息
第二步:展示学生列表信息
1)封装打印学生信息的函数,格式要求如右图:
第三步:统计学生总数
1)封装获取学生总数的函数,并对该函数进行调用和数据打印
第四步:查询学生信息
1)封装根据学生姓名查询学生信息的函数
2)提示用户“请输入要查询的学生姓名:”
3)如果存在,直接在控制台打印学生信息,格式为:“姓名:张三,年龄:25”
4)如果不存在,直接在控制台打印“对不起,名字叫【张三】的学生不存在”

如图

在这里插入图片描述

代码:
# 需求:按照以下要求完成代码的编写
# 第一步:录入学生信息
# 	1)提示用户在控制台输入3个学生的信息,学生信息包含姓名、年龄
# 	2)要求:封装录入单个学生信息的函数,并返回学生的信息
def input_student():
    # 定义字典来保存学生信息
    name = input("输入学生的姓名:")
    age = input("输入学生的年龄:")
    dict1 = {"name": name, "age": age}  # 学生的信息用字典来存储
    return dict1


# 第二步:展示学生列表信息
# 	1)封装打印学生信息的函数,格式要求如右图:
def show_student(list_student):
    print("------学生列表信息-------")

    i = 1  # 记录学生序号

    for student in list_student:  # 遍历输出
        print(f"{i}\t\t{student.get('name')}\t\t{student.get('age')}")

        i += 1  # 序号加1

    print("-----------------------")


# 第三步:统计学生总数
# 	1)封装获取学生总数的函数,并对该函数进行调用和数据打印
def count_student(list_student):
    return len(list_student)  # 获取列表字典的长度 len()


# 第四步:查询学生信息
# 	1)封装根据学生姓名查询学生信息的函数
# 	2)提示用户“请输入要查询的学生姓名:”
# 	3)如果存在,直接在控制台打印学生信息,格式为:“姓名:张三,年龄:25”
# 	4)如果不存在,直接在控制台打印“对不起,名字叫【张三】的学生不存在”


"""
       遍历学生信息,如果查到了,函数就结束
       只能用  return
       break continue 是跳出 for循环,不满足要求
"""

def query_student(list_student):
    name = input("请输入要查询的学生姓名:")
    for student in list_student:
        if student.get('name') == name:
            print(f"姓名:{student.get('name')},年龄:{student.get('age')}")
            return

    print(f"对不起,名字叫{name}的学生不存在")  # 没有找到,必须放到循环的外面,
                                           # 如果遍历完之后,没有查到学生,就输出没有找到


if __name__ == '__main__':  # 函数的调用放到 main()

    # 定义保存3个学生信息的数据
    list_student = []
    for i in range(3):
        student = input_student()
        list_student.append(student)

    print(list_student)  # 把3个学生的信息存储在列表中

    # 调用打印学生信息函数              # 把列表数据传入函数,当做实参
    show_student(list_student)
    # 调用统计学生总数的函数
    print(count_student(list_student))
    # 查询学生信息
    query_student(list_student)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python 录入学生信息 提示用户在控制台输入3个学生的信息,学生信息包含姓名、年龄 的相关文章

  • 如何替换 Pandas Dataframe 中不在列表中的所有值? [复制]

    这个问题在这里已经有答案了 我有一个值列表 如何替换 Dataframe 列中不在给定值列表中的所有值 例如 gt gt gt df pd DataFrame D ND D garbage columns S gt gt gt df S 0
  • 在 Python 中解析 TCL 列表

    我需要在双括号上拆分以空格分隔的 TCL 列表 例如 OUTPUT 172 25 50 10 01 01 Ethernet 172 25 50 10 01 02 Ethernet Traffic Item 1 172 25 50 10 01
  • 类的 IPython 表示

    我正在使用我创建的模块尝试 IPython 但它没有显示类对象的实际表示 相反 它显示类似的内容 TheClass module TheClass name I heavily在这个模块中使用元类 我有真正有意义的类表示 应该向用户显示 是
  • Pandas set_levels,如何避免标签排序?

    我使用时遇到问题set levels多索引 from io import StringIO txt Name Height Age Metres A 1 25 B 95 1 df pd read csv StringIO txt heade
  • 计算另一个字符串中多个字符串的出现次数

    在 Python 2 7 中 给定以下字符串 Spot是一只棕色的狗 斑点有棕色的头发 斑点的头发是棕色的 查找字符串中 Spot brown 和 hair 总数的最佳方法是什么 在示例中 它将返回 8 我正在寻找类似的东西string c
  • matplotlib 图中点的标签

    所以这是一个关于已发布的解决方案的问题 我试图在我拥有的 matplotlib 散点图中的点上放置一些数据标签 我试图在这里模仿解决方案 是否有与 MATLAB 的 datacursormode 等效的 matplotlib https s
  • NLTK 2.0分类器批量分类器方法

    当我运行此代码时 它会抛出一个错误 我认为这是由于 NLTK 3 0 中不存在batch classify 方法 我很好奇如何解决旧版本中的某些内容在新版本中消失的此类问题 def accuracy classifier gold resu
  • VSCode Settings.json 丢失

    我正在遵循教程 并尝试将 vscode 指向我为 Scrapy 设置的虚拟工作区 但是当我在 VSCode 中打开设置时 工作区设置 选项卡不在 用户设置 选项卡旁边 我还尝试通过以下方式手动转到文件 APPDATA Code User s
  • Python 3d 绘图设置固定色阶

    我正在尝试绘制两个 3d 数组 第一个数组的 z 值在范围内 0 15 0 15 第二个来自 0 001 0 001 当我绘图时 色标自动遵循数据范围 如何设置自定义比例 我不想看到 0 001 的浅色 而应该看到 0 15 的浅色 如何修
  • Pycharm 在 os.path 连接上出现“未解析的引用”

    将pycharm升级到2018 1 并将python升级到3 6 5后 pycharm报告 未解析的引用 join 最新版本的 pycharm 不会显示以下行的任何警告 from os path import join expanduser
  • Tensorboard SyntaxError:语法无效

    当我尝试制作张量板时 出现语法错误 尽管开源代码我还是无法理解 我尝试搜索张量板的代码 但不清楚 即使我不擅长Python 我这样写路径C Users jh902 Documents logs因为我正在使用 Windows 10 但我不确定
  • 打印数字时添加千位分隔符[重复]

    这个问题在这里已经有答案了 我真的不知道这个问题的 名称 所以它可能是一个不正确的标题 但问题很简单 如果我有一个数字 例如 number 23543 second 68471243 我想要它使print 像这样 23 54368 471
  • GUI(输入和输出矩阵)?

    我需要创建一个 GUI 将数据输入到矩阵或表格中并读取此表单数据 完美的解决方案是限制输入表单仅允许float 例如 A 1 02 0 25 0 30 0 515 0 41 1 13 0 15 1 555 0 25 0 14 1 21 2
  • Java 和 Python 可以在同一个应用程序中共存吗?

    我需要一个 Java 实例直接从 Python 实例数据存储中获取数据 我不知道这是否可能 数据存储是否透明 唯一 或者每个实例 如果它们确实可以共存 都有其单独的数据存储 总结一下 Java 应用程序如何从 Python 应用程序的数据存
  • 当字段是数字时怎么说...在 mongodb 中匹配?

    所以我的结果中有一个名为 城市 的字段 结果已损坏 有时它是一个实际名称 有时它是一个数字 以下代码显示所有记录 db zips aggregate project city substr city 0 1 sort city 1 我需要修
  • 如何将 ascii 值列表转换为 python 中的字符串?

    我在 Python 程序中有一个列表 其中包含一系列数字 这些数字本身就是 ASCII 值 如何将其转换为可以在屏幕上回显的 常规 字符串 您可能正在寻找 chr gt gt gt L 104 101 108 108 111 44 32 1
  • Spider 必须返回 Request、BaseItem、dict 或 None,已“设置”

    我正在尝试从以下位置下载所有产品的图像 我的蜘蛛看起来像 from shopclues items import ImgData import scrapy class multipleImages scrapy Spider name m
  • python 中的“槽包装器”是什么?

    object dict 和其他地方的隐藏方法设置为这样的
  • 根据 Pandas 中的列表选择数据框行的子集

    我有一个数据框df1并列出x In 22 import pandas as pd In 23 df1 pd DataFrame C range 5 B range 10 20 2 A list abcde In 24 df1 Out 24
  • pytest找不到模块[重复]

    这个问题在这里已经有答案了 我正在关注pytest 良好实践 https docs pytest org en latest explanation goodpractices html test discovery或者至少我认为我是 但是

随机推荐

  • Intellij idea软件项目名后面跟了中括号

    问题展示 有时候我们的项目在项目名称或者模块名后面会跟着一个 XXX 如下图 问题分析 出现这种情况 是因为创建项目时 名称为A artifactId为B 就会造成这种结果 文件夹名字是A iml文件名是B iml文件是项目标识文件 记录了
  • Nginx:如何配置HTTPS加密通信?

    作者 禅与计算机程序设计艺术 1 简介 1 1 引言 HTTPS HyperText Transfer Protocol Secure 是一种通过Internet进行安全传输的协议 它经由SSL TLS加密技术保护用户数据在 interne
  • ubuntu22.04使用时遇到的问题

    应用软件 网易云音乐无法打开 sudo gedit opt netease netease cloud music netease cloud music bash 将内容改成下面这样 bin sh HERE dirname readlin
  • springboot shardingsphere druid 动态数据源切换及分库分表

    引入依赖
  • opencv图像金字塔的介绍

    1 学习目标 掌握opencv图像金字塔的原理 学习内容 1 什么是图像金字塔 2 图像金字塔有什么用 3 图像金字塔实现方式 学习产出 1 什么是图像金字塔 图像金字塔 如图 1 所示 是一种以多分辨率来解释图像的结构 通过对原始图像进行
  • spring cloud eureka server界面自定义

    spring cloud eureka server注册中心的界面不太好看 想自定义 经查看源码发现 源码位于spring cloud netflix eureka server servers的首页由template eureka目录下的
  • 各版本Pytorch安装详解

    Pytorch安装教程 windows版本 conda安装 1 cuda9 0 python3 6 3 5 3 7 conda install pytorch c pytorch pip3 install torchvision 2 cud
  • Win10、Win11打开远程桌面连接方法

    目录 一 打开网络发现 二 打开远程桌面连接 一 打开网络发现 二 打开远程桌面连接 1 打开此电脑 右击 属性 2 相关链接处点解高级系统设置 3 远程协助和远程桌面处 均勾选允许远程协助连接这台计算机 4 点击选择用户 查看或添加远程用
  • flutter 权限和图片权限之前的冲突

    权限插件 permission handler 9 2 0 想调起相册和视频 这个插件只有Permission storage request 获取存储权限 问题是android 13的一些手机 系统设置没有存储权限 用了上面这个权限 三次
  • 三种常见加密算法MD5、对称加密,非对称加密

    1 MD5加密html MD5加密的特色 前端 不可逆运算python 对不一样的数据加密的结果是定长的32位字符 无论文件多大都同样 算法 对相同的数据加密 获得的结果是同样的 也就是复制 后端 抗修改性 信息 指纹 对原数据进行任何改动
  • 扫频的matlab及FPGA实现

    扫频原理 已知扫频表达式 s t e x p
  • Linux文件I/O实验报告

    实验代码下载地址 https download csdn net download Qingyuyuehua 16305028 任务1 在当前用户目录下创建数据文件student txt 文件的内部信息存储格式为Sname S Sdept
  • sqli-lab教程——Less-8 GET - Blind - Boolian Based - Single Quotes (布尔型单引号GET盲注)

    题目名字暴露一切 本来不想看的 又瞥到了 布尔型盲注 单引号 id 1回显 价格单引号不回显 构造一下验证是不是布尔型payload id 1 and 1 1 回显了 证明没跑了 那就一步一步来吧 和less5一样的 根据回显判断 可以通过
  • clion三角形运行键是灰的_能打游戏能编程,如何用吃灰机器,安装完整ChromeOS(支持安卓)...

    常看IT新闻的人 一定听说过基于Chrome浏览器的系统ChromeOS 作为云系统的先行者 它的优点非常多 1 轻量 系统简单 资源占用少 低配硬件也能流畅运行 2 现代 界面风格统一 触摸手势好用 手感不输MacOS 3 同步 扩展程序
  • windows启动Docker失败提示:waiting for docker daemon: context deadline exceeded

    报错提示如下图 解决方法 以管理员方式打开CMD 运行netsh winsock reset 后 重启电脑之后再次启动Docker就可以了 如果还是没有效果可以尝试以下解决方法 检查Docker服务是否已启动 在命令行中输入 service
  • 完美解决eclipse中文注释错位、缩进、被放大BUG

    完美解决eclipse中文注释错位 缩进 被放大BUG 1 常规操作 2 另辟蹊径 2 1 基本思路 字体融合法 2 2 操作步骤 2 2 1 软件准备 2 2 2 文件准备 2 2 3详细步骤 3 写在最后 1 常规操作 这个BUG有大量
  • C++数组

    C 支持数组数据结构 它可以存储一个固定大小的相同类型元素的顺序集合 数组是用来存储一系列数据 但它往往被认为是一系列相同类型的变量 一维数组 一维数组定义的三种方式 1 数据类型 数组名 数组长度 2 数据类型 数组名 数组长度 值1 值
  • 总经理、总裁、总监、首席执行官,谁最了不起?

    总经理 总裁 总监 首席执行官 谁最了不起 中国的 头衔贬值 日趋严重 在中国 近来突然发现身边多了很多只有数名员工的 总裁 或者只管记帐的 财务总监 当然 在中国想要办点儿事 依靠个人的权限与力量是很关键的 因此也造成了这种刻意显示 自己
  • 如何把Eclipse改成中文版

    一 打开浏览器 输入http www eclipse org babel downloads php 如图所示 Babel Language 开头的一栏下面就是各个eclise版本的语言包 此处以Indigo版为例 二 目标锁定 Babel
  • Python 录入学生信息 提示用户在控制台输入3个学生的信息,学生信息包含姓名、年龄

    需求 按照以下要求完成代码的编写 第一步 录入学生信息 1 提示用户在控制台输入3个学生的信息 学生信息包含姓名 年龄 2 要求 封装录入单个学生信息的函数 并返回学生的信息 第二步 展示学生列表信息 1 封装打印学生信息的函数 格式要求如