Python练习

定义学员信息类,包含姓名、成绩属性,定义成绩打印方法 (90分及以上显示优秀,80分及以上显示良好,70分及以上显示中等,60分及以上显示合格,60分以下显示不及格)

class Student:def __init__(self, name, score):self.name = nameself.score = scoredef print_score(self):if self.score >= 90:print(f"学员 {self.name} 考{self.score}分,成绩为优秀。")elif self.score >= 80:print(f"学员 {self.name} 考{self.score}分,成绩为良好。")elif self.score >= 70:print(f"学员 {self.name} 考{self.score}分,成绩为中等。")elif self.score >= 60:print(f"学员 {self.name} 考{self.score}分,成绩为合格。")else:print(f"学员 {self.name} 考{self.score}分,成绩为不及格。")student1 = Student("张三", 95)
student1.print_score()student2 = Student("李四", 85)
student2.print_score()student3 = Student("王五", 75)
student3.print_score()student4 = Student("赵四", 65)
student4.print_score()student5 = Student("老六", 55)
student5.print_score()

检测密码)一些网站会给密码强加一些规则。编写函数检测一个字符串是否是一个合法的密码。假设密码规则如下述:

  • 密码必须至少有 8 个字符

  • 密码只能包含英文字母和数字

  • 密码应该至少包含两个数字

编写程序提示用户输入一个密码,如果遵循了规则就显示“valid password”,否则“invalidpassword”

 

# 定义一个函数 is_valid_password,用于判断密码是否符合要求
def is_valid_password(password):# 如果密码的长度小于 8,则不符合要求,返回 Falseif len(password) < 8:return Falsedigit_count = 0  # 用于统计密码中的数字个数# 遍历密码中的每个字符for char in password:# 如果字符不是字母或数字,则不符合要求,返回 Falseif not char.isalnum():return False# 如果字符是数字,则增加数字计数器 digit_count 的值if char.isdigit():digit_count += 1  # 统计数字的数量# 如果数字的数量大于等于 2,则符合要求,返回 True;否则返回 Falseif digit_count >= 2:return Trueelse:return False# 获取用户输入的密码
user_password = input("请输入密码:")# 调用 is_valid_password 函数进行密码判断,根据返回的结果输出相应的提示信息
if is_valid_password(user_password):print("valid password")
else:print("invalid password")

# 定义一个名为HouseItem的类,代表一个家具项目  
class HouseItem:  # 定义初始化函数,接收两个参数,分别为家具名称和家具面积  def __init__(self,name,area):  # 将传入的家具名称赋值给self.name,以便后续使用  self.name = name  # 将传入的家具面积赋值给self.area,以便后续使用  self.area = area  # 定义一个__str__方法,返回一个描述该家具的字符串  def __str__(self):  # 返回一个包含家具名称和家具面积的字符串,使用f-string格式化  return f"家具名称{self.name},家具面积:{self.area}"  # 定义一个名为House的类,代表一个房屋  
class House:  # 定义初始化函数,接收两个参数,分别为房屋类型、房屋面积  def __init__(self,type,area):  # 将传入的房屋类型赋值给self.house_type,以便后续使用  self.house_type = type  # 将传入的房屋面积赋值给self.area,以便后续使用  self.area = area  # 将传入的房屋面积赋值给self.free_area,表示房屋的剩余面积  self.free_area = self.area  # 初始化一个空的列表,用于存放家具名称  self.item_list = []  # 定义一个__str__方法,返回一个描述该房屋的字符串  def __str__(self):  # 返回一个包含房屋类型、房屋面积、剩余面积和家具名称列表的字符串,使用f-string格式化  return f"户型:{self.house_type}\n"\  f"总面积:{self.area}\n"\  f"剩余面积:{self.free_area}\n"\  f"家具名称列表:{self.item_list}"  # 定义一个add_item方法,用于在房屋中添加家具项目  def add_item(self,item):  # 如果要添加的家具项目面积大于房屋的剩余面积,则打印一条消息并结束函数执行  if item.area >self.free_area:  print("剩余面积不够了")  return  # 将要添加的家具项目的名称添加到家具名称列表中  self.item_list.append(item.name)  # 从房屋的剩余面积中减去要添加的家具项目的面积  self.free_area -= item.area  # 创建一个名为bed的HouseItem对象,类型为"席梦思",面积为4  
bed = HouseItem("席梦思",4)  
# 创建一个名为ward的HouseItem对象,类型为"衣柜",面积为2"衣柜",面积为2)           
ward = HouseItem("衣柜",2)  
# 创建一个名为house的House对象,房屋类型为"130大平层",面积为130                       
house = House("130大平层",130)  
# 在房屋中添加床和衣柜两个家具项目                                    
house.add_item(bed)  
house.add_item(ward)  
# 打印房屋的信息,包括房屋类型、面积、剩余面积和家具名称列表     
print(house)```

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

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

相关文章

SpringMVC学习

一、SpringMvc 概述 1.什么是SpringMVC? ( •̀ ω •́ )✧&#xff1a; SpringMVC是基于MVC开发模式的框架&#xff0c;具备IOC和AOP MyBatis用来优化持久层&#xff0c; SpringMVC优化控制器。 spring是用来整合这两个框架 的框架

人工智能基础_机器学习008_使用正规方程_损失函数进行计算_一元一次和二元一次方程演示_sklearn线性回归演示---人工智能工作笔记0048

自然界很多都是正态分布的,身高,年龄,体重...但是财富不是. 然后我们来看一下这个y = wx+b 线性回归方程. 然后我们用上面的代码演示. 可以看到首先import numpy as np 导入numby 数据计算库 import matplotlib.pyplot as plt 然后导入图形画的库 然后: X = np.linspace(0,…

【LeetCode刷题-哈希】--349.两个数组的交集

349.两个数组的交集 class Solution {public int[] intersection(int[] nums1, int[] nums2) {Set<Integer> num1set new HashSet<>();Set<Integer> interset new HashSet<>();for(Integer n : nums1){ //将nums1中的元素加到num1set中num1set.add(…

【C++项目实战】基于多设计模式下的同步于异步的日志系统(完整详细)

&#x1f307;个人主页&#xff1a;平凡的小苏 &#x1f4da;学习格言&#xff1a;命运给你一个低的起点&#xff0c;是想看你精彩的翻盘&#xff0c;而不是让你自甘堕落&#xff0c;脚下的路虽然难走&#xff0c;但我还能走&#xff0c;比起向阳而生&#xff0c;我更想尝试逆风…

lv8 嵌入式开发 网络编程开发 21 私有云盘项目

目录 1云盘项目简介 2 项目实现 2.1 首先实现TCP客户端、服务端 2.2 实现客户端函数简化 2.3 实现服务端函数简化 2.4 TCP数据连包现象 2.5 封装send函数和recv函数 2.6 建立readme说明 2.7 实现文件传输 2.8 读取配置文件种的ip、端口号,通过argv[1]参数实现文件传输…

Java SE 学习笔记(十九)—— XML、设计模式

目录 1 XML1.1 XML 概述1.2 XML 语法规则1.3 XML 文档约束&#xff08;了解&#xff09;1.3.1 DTD 约束1.3.2 schema 约束 2 XML 解析2.1 XML 解析概述2.2 Dom4J 解析 XML 文件2.3 XML 解析案例 3 XML 检索4 设计模式4.1 工厂模式4.2 装饰模式 1 XML 在有些业务场景下&#xff…

Go语言math标准库

# math包 参考资料 常用函数 函数功能备注NaN() float64返回一个IEEE 754“这不是一个数字”值IsNaN(f float64) (is bool)报告f是否表示一个NaN&#xff08;Not A Number&#xff09;值Inf(sign int) float64如果sign>0函数返回正无穷大&#xff0c;否则返回负无穷大IsI…

2022年上半年上午易错题(软件设计师考试)

1.以下关于冯诺依曼计算机的叙述中&#xff0c;不正确的是( )。 A.程序指令和数据都采用二进制表示 B.程序指令总是存储在主存中&#xff0c;而数据则存储在高速缓存中 C.程序的功能都由中央处理器(CPU)执行指令来实现 D.程序的执行过程由指令进行自动控制 程序指令和数据…

力扣第738题 单调递增的数字 c++ 暴力超时 贪心优化

题目 738. 单调递增的数字 中等 相关标签 贪心 数学 当且仅当每个相邻位数上的数字 x 和 y 满足 x < y 时&#xff0c;我们称这个整数是单调递增的。 给定一个整数 n &#xff0c;返回 小于或等于 n 的最大数字&#xff0c;且数字呈 单调递增 。 示例 1: 输入: n 1…

ZYNQ连载03-Vivado创建工程

ZYNQ连载03-Vivado创建工程 1. 硬件参数 名称参数主控xc7z020clg400-2DDRMT41J256M16RE-125 2. 创建工程 3. 串口配置 4. DDR配置 5. SD配置 6. ETH配置 7. USB配置 8. 导出硬件 Generate Output ProductsCreate HDL WrapperExport Hardware Platform 执行以上步骤后&#…

6G关键新兴技术-智能超表面(RIS)技术演进

一、产品定义及范围 根据欧盟5G公私联盟协会(5G Infrastructure Public-Private Partnership, 5GPP)定义&#xff0c;可重构智慧表面(Reconfigurable Intelligent Surface, RIS)技术是由能够任意塑造电磁波面的材料组成&#xff0c;几乎是被动(Passice)设备&#xff0c;可以适…

力扣每日一题81:搜索旋转排序数组||

题目描述&#xff1a; 已知存在一个按非降序排列的整数数组 nums &#xff0c;数组中的值不必互不相同。 在传递给函数之前&#xff0c;nums 在预先未知的某个下标 k&#xff08;0 < k < nums.length&#xff09;上进行了 旋转 &#xff0c;使数组变为 [nums[k], nums[…

leetCode 76. 最小覆盖子串 + 滑动窗口 + 哈希Hash

我的往期文章&#xff1a;此题的其他解法&#xff0c;感兴趣的话可以移步看一下&#xff1a; leetCode 76. 最小覆盖子串 滑动窗口 图解&#xff08;详细&#xff09;-CSDN博客https://blog.csdn.net/weixin_41987016/article/details/134042115?spm1001.2014.3001.5501 力…

【软件安装环境配置】VsCode安装和配置各种环境(保姆级)

一、VsCode 下载 1.官网下载 网站&#xff1a;Visual Studio Code - Code Editing. Redefined 打开网站 点击Download 根据操作系统&#xff08;macOS、Windows、Linux&#xff09;和版本下载 下载到本地 注意&#xff1a; 若下载很慢&#xff0c;或者下着下着就暂停了 可…

【设计模式】第15节:行为型模式之“职责链模式”

一、简介 职责链模式&#xff1a;将请求的发送和接收解耦&#xff0c;让多个接收对象都有机会处理这个请求。将这些接收对象串成一条链&#xff0c;并沿着这条链传递这个请求&#xff0c;直到链上的某个接收对象能够处理它为止。 二、优点 分离发送者和接受者易于扩展和维护…

【已解决】VSCode运行C#控制台乱码显示

问题描述 如上图所示&#xff0c;最近在学习C#突然发现我在运行Hello World的时候出现这样的乱码情况。 分析原因 主要是因为VS Code 是UTF-8的编码格式&#xff0c;而我们的PC是Unicode编码&#xff0c;所以我们需要对其进行一个统一即可解决问题。那么知道这个的问题那就开…

MATLAB算法实战应用案例精讲-【图像处理】机器视觉(基础篇)(六)

目录 前言 几个高频面试题目 工业相机与普通相机的差别 一、 工业相机与普通相机的区别

【Docker】如何查看之前docker run命令启动的参数

个人主页&#xff1a;金鳞踏雨 个人简介&#xff1a;大家好&#xff0c;我是金鳞&#xff0c;一个初出茅庐的Java小白 目前状况&#xff1a;22届普通本科毕业生&#xff0c;几经波折了&#xff0c;现在任职于一家国内大型知名日化公司&#xff0c;从事Java开发工作 我的博客&am…

QT之QDir的mkdir()和mkpath()区别

区别 QDir类的mkdir()和mkpath()方法都用于创建目录&#xff0c;但它们在处理多层目录的创建时有所不同。 mkdir()方法&#xff1a;它用于创建一个目录。如果要创建的目录的父目录不存在&#xff0c;则mkdir()方法会失败&#xff0c;不会创建任何目录。mkpath()方法&#xff…

H5游戏源码分享-密室逃脱小游戏(考验反应能力)

H5游戏源码分享-密室逃脱小游戏&#xff08;考验反应能力&#xff09; 预判安全位置&#xff0c;这个需要快速的反应能力 源码 <!DOCTYPE html> <html> <head> <meta http-equiv"Content-Type" content"text/html; charsetutf-8" /&…