Python编程的循环结构小示例(二)

Python编程的循环结构小示例(二)

无限循环

在 Python 中,可以使用 while True 来创建一个无限循环。下面是一个简单的示例代码,演示了如何使用 while True 创建一个无限循环:

while 1:mystr = input('请输入一个字母或数字:')print('您输入的数字或字母:', mystr)

运行结果如下:

请输入一个字母或数字:a
您输入的数字或字母: a
请输入一个字母或数字:1
您输入的数字或字母: 1
请输入一个字母或数字:15
您输入的数字或字母: 15
请输入一个字母或数字:b
您输入的数字或字母: b

在这个示例中,while True 循环将一直运行,无限地输出"这是一个无限循环"。要退出这个无限循环,您可以在适当的条件下使用 break 语句来跳出循环。通常,无限循环用于实现需要持续运行的任务或事件监听。请确保在使用无限循环时有适当的退出机制,以避免导致系统资源耗尽或程序陷入死循环。

示例:可以查看和录入多次的学生成绩和评语系统

以下是一个示例代码,演示如何创建一个可以多次查看学生成绩和评语的系统。该系统允许用户输入学生姓名、成绩和评语,并能够随时查询已经输入的学生成绩和评语记录:

student_records = {}  # 用于存储学生成绩和评语的字典def add_student_record():name = input("请输入学生姓名: ")score = int(input("请输入学生成绩: "))comment = input("请输入学生评语: ")student_records[name] = {'score': score, 'comment': comment}print(f"{name} 的成绩和评语已记录。\n")def display_student_records():for name, record in student_records.items():print(f"姓名: {name}, 成绩: {record['score']}, 评语: {record['comment']}")while True:print("\n1. 添加学生成绩和评语")print("2. 查看所有学生成绩和评语")print("3. 退出程序")choice = input("请选择操作:")if choice == '1':add_student_record()elif choice == '2':display_student_records()elif choice == '3':breakelse:print("无效选项,请重新选择。")print("程序已退出。")

运行结果如下:

1. 添加学生成绩和评语
2. 查看所有学生成绩和评语
3. 退出程序
请选择操作:1
请输入学生姓名: Bob
请输入学生成绩: 90
请输入学生评语: Excellent
Bob 的成绩和评语已记录。1. 添加学生成绩和评语
2. 查看所有学生成绩和评语
3. 退出程序
请选择操作:1
请输入学生姓名: Mary
请输入学生成绩: 85
请输入学生评语: Good
Mary 的成绩和评语已记录。1. 添加学生成绩和评语
2. 查看所有学生成绩和评语
3. 退出程序
请选择操作:2
姓名: Bob, 成绩: 90, 评语: Excellent
姓名: Mary, 成绩: 85, 评语: Good1. 添加学生成绩和评语
2. 查看所有学生成绩和评语
3. 退出程序
请选择操作:3
程序已退出。

这段代码定义了两个函数 add_student_record 用于添加学生成绩和评语,以及 display_student_records 用于显示所有学生成绩和评语记录。程序会不断循环提供菜单选项,用户可以选择添加学生成绩和评语、查看所有学生成绩和评语,或者退出程序。

您可以根据需要扩展此代码,添加更多功能和验证机制来构建更完善的学生成绩评语系统。

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

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

相关文章

JUC面试——⭐⭐Java中的四种引用类型/Threadlocal

四种引用类型 Java 中对象的引用分为四种级别,这四种级别由高到低依次为:强引用、软引用、弱引用和虚引用。 基础知识 强引用:普通使用的引用 强引用是造成 Java 内存泄漏的主要原因之一 软引用: GC内存不够时回收 适用于&…

翻译 《The Old New Thing》 - What is the Alt+Tab order?

What is the AltTab order? - The Old New Thing (microsoft.com)https://devblogs.microsoft.com/oldnewthing/20031020-00/?p42093 Raymond Chen 2003年10月20日 AltTab 列表中的图标顺序是如何确定的? 是什么决定了在 AltTab 列表中图标出现的顺序?…

第十五届蓝桥杯题解-数字接龙

题意:经过所有格子,并且不能进行交叉,走的下一个格子必须是当前格子值1%k,输出路径最小的那一条(有8个方向,一会粘图) 思路:按照8个方向设置偏移量进行dfs,第一个到达终…

.NET 设计模式—备忘录模式(Memento Pattern)

简介 备忘录模式,又称之为快照模式(Snapshop Pattern),是一种行为型设计模式,,它允许在不破坏对象封装性的前提下,捕获并保存一个对象的内部状态,以便在需要时恢复该对象到原先的状态。备忘录模式可以为我们…

一台服务器同时启动两个版本jdk

之前Java项目都是1.8的jdk,在服务器部署正常使用,服务器配置环境变量jdk1.8版本。最近一次我用了jdk17版本,部署服务器后,遇见了jdk版本不一致报错 报错内容: 52指向jdk1.8,61指向jdk17,大概就是jdk版本不…

[Java基础揉碎]集合

目录 集合的理解和好处 数组 集合的理解和好处 继承图 ​编辑 简单实例 Collection接口和常用方法 1) add:添加单个元素 2) remove:删除指定元素 3) contains:查找元素是否存在 4) size:获取元素个数 5) isEmpty:判断是否为空 ​编辑 6) clear:清空 7) addAll:添…

acwing算法提高之图论--二分图

目录 1 介绍2 训练3 参考 1 介绍 本专题用来记录二分图的题目。 以下条件互相等价: 一个图是二分图。染色法过程中不存在矛盾。图中不存在奇数环。 二分图本质上是一个无向图的问题! 2 训练 题目1:257关押罪犯 C代码如下, …

数组双指针

力扣26 快慢指针 去掉重复元素 数组 public int removeDuplicates(int[] nums) {int slow 0;int fast 1;int count 0;if (nums.length 1) {return 1;} else {while (fast < nums.length) {if (nums[slow] nums[fast]) {// 若相等 则 fast向前走 slow不动fast;}else{// …

「51媒体」新闻媒体邀约如何进行媒体宣传(方法)

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 新闻媒体邀约进行媒体宣传是一个策略性的过程&#xff0c;旨在吸引媒体的注意力并促使其对特定事件、产品发布或企业活动进行报道。以下是一些关键步骤和策略&#xff1a; 制定媒体传播方…

【做一名健康的CSDNer】程序员脱单真的很难吗?

脱单的难易程度并不取决于一个人是否是程序员&#xff0c;而是受到多种因素的影响&#xff0c;包括个人的社交能力、生活方式、个性特点、外貌形象、兴趣爱好等。程序员这个职业群体并不例外。 对于程序员来说&#xff0c;可能面临的挑战包括&#xff1a; 工作时间&#xff1a;…

<计算机网络自顶向下> TCP拥塞

目录 TCP拥塞控制机制 TCP拥塞感知 TCP速率控制方法 TCP拥塞控制和流量控制的联合动作 TCP拥塞控制策略 TCP吞吐量 TCP公平性 TCP拥塞控制机制 端到端的拥塞控制机制 路由器不向主机提供有关拥塞的反馈信息 路由器负担较轻 符合网络核心简单的TCP/IP架构原则 端系统根据自…

Oracle使用内部包自定义创建表空间和用户

如果之前有类似的表空间,可以使用dbms自动生成对应的表空间和数据文件 select dbms_metadata.get_ddl(TABLESPACE,ts.tablespace_name) from dba_tablespaces ts; 可以使用类似的 SQL> set echo off SQL> spool /data/logs/create_tablespace.log SQL> select dbms…

python读取pdf表格并合并为excel

import pdfplumber import pandas as pd import os from openpyxl import load_workbook from datetime import datetime # page_chars最尾部的非空字符 def tail_not_space_char(page_chars):i -1while page_chars[i].get(text).isspace():i i - 1# print(page_chars[i].get…

asp.net core rabbitmq的基本使用

要在 .NET Core 应用程序中实现使用 RabbitMQ 发送和接收消息的简单示例&#xff0c;首先需要在开发机器上安装 RabbitMQ 服务器并运行它。接下来&#xff0c;我们将创建两个控制台应用程序&#xff1a;一个用于发送消息&#xff08;生产者&#xff09;&#xff0c;另一个用于接…

灵途科技荣获省级“专精特新”企业认定!

4月8日&#xff0c;湖北省经济和信息化厅发布了湖北省第六批专精特新中小企业公示名单&#xff0c;泛自动驾驶领域光电感知专家灵途科技荣获省级“专精特新”企业认定。 “专精特新”自2021年在全国各省市范围内贯彻执行&#xff0c;旨在推动形成一批具备专业化、精细化优势&a…

设计模式学习笔记 - 开源实战三(中):剖析Google Guava中用到的设计模式

概述 上篇文章&#xff0c;我通过 Google Guava 这样一个优秀的开源类库&#xff0c;讲解了如何在业务开发中&#xff0c;发现跟业务无关、可以复用的通用功能模块&#xff0c;并将它们抽离出来&#xff0c;设计成独立的类库、框架或功能组件。 本章再来学习下&#xff0c;Go…

【Hadoop3.3.6全分布式环境搭建】

说明: 完成Hadoop全分布式环境搭建,需准备至少3台虚拟机(master slave01 slave02)环境: VMWare + Centos7 + JDK1.8+ Hadoop3.3.6主机规划: 主节点:master从节点:slave01 , slave02 一、准备工作 1、所有主机安装jdk 上传jdk-8u171-linux-x64.tar.gz到/root目录下,然后…

AWS SAP(Certified Solutions Architect- Professional)认证题库详解(一)

很多朋友在做AWS认证的时候拿到题库之后,却不理解正确答案的原理,这里针对每一条答案都给了一个非常详细的解释,同时也会积累丰富的云计算架构的实践经验,保证看得懂,记得住,看完一遍之后就可以去考试了。  问题1 一家公司使用Amazon在单个m4.2xlarge AmazonEC2实例上…

改变图片的DPI和 清晰度

投稿时&#xff0c;我们的图片不满足要求&#xff0c;经常需要修改&#xff0c;这个博主讲解了几种方法&#xff0c;非常好。 【科研制图】如何快速修改图片符合投稿要求(分辨率300DPI等)及AI智能绘制高质量图片&#xff08;Upscayl软件&#xff09;_哔哩哔哩_bilibili

【java】26:JUnit

为什么需要 JUnit&#xff1a; 1.一个类有很多功能代码需要测试&#xff0c;为了测试&#xff0c;就需要写入到main方法中 2.如果有多个功能代码测试&#xff0c;就需要来回注销&#xff0c;切换很麻烦……… 3.如果可以直接运行一个方法&#xff0c;就方便很多&#xff0c;并且…