本文是Python入门系列的最后一篇,包含多个实用案例:
- 使用set函数对年会报名名单去重;
- 计算不同半径球的表面积;
- 实现Student类管理学生信息;
- Employee类处理员工数据。
最后介绍SQL基础查询语法,并说明Python课程提前结束,转向数据库学习。
文章强调"师父领进门,修行在个人",建议读者如有需要,可以继续深入学习Python的其他知识。
这是《Python 7 天入门》系列文章集合中的第七篇
先去复习第六天的内容
#NP93 创建集合 #某公司内部报名年会活动,因为是匿名报名,有的同事可能偷偷“帮助”别人报名了,导致一个名字出现多次。后台营运同学希望你能用set函数将这些名字记录为一个集合,以到达去重的目的,请输出这些名字创建的集合,输出的时候使用sorted函数对集合排序。 i=input().split(" ") li=set(i) print(sorted(li)) #NP96 #球的表面积公式为 V=4πr2,请写一个函数,输入球的半径,返回球的表面积。球的半径如下:[1, 2, 4, 9, 10, 13],请输出这些半径下的表面积,π取math库的math.pi。 import math w=math.pi li=[1, 2, 4, 9, 10, 13] for i in li: r='%.2f'%(4*w*i**2) print(r) #NP97 班级管理 # 描述 # 牛牛的Python老师为了更好地管理班级,利用一个类Student来管理学生,这个类包含了学生姓名(str)、学号(str)、分数(int)、每次作业等级(list[str])等信息。请你帮助牛牛的老师实现这样一个类,并定义构造方法实现初始化,定义打印函数实现打印学生的姓名、学号、分数、提交作业的次数、每次作业的等级。 # 输入描述: # 第一行输入字符串表示学生姓名。 # 第二行输入字符串表示学生学号。 # 第三行输入整数表示学生得分。 # 第四行输入多个大写字母表示每次作业等级,用空格间隔。 # 输出描述: # 用一句话输出学生的姓名、学号、分数、提交作业的次数、每次作业的等级,可以参考输出样例。 class Student: def __init__(self, name, student_id, score, grades): self.name = name self.student_id = student_id self.score = score self.grades = grades # grades 是一个 list[str] def print_info(self): # 提交作业的次数就是 grades 列表的长度 num_submissions = len(self.grades) # 将每次作业等级用空格连接成字符串 grades_str = ' '.join(self.grades) # 输出格式参考样例 print(f"姓名:{self.name},学号:{self.student_id},分数:{self.score},提交作业次数:{num_submissions},每次作业等级:{grades_str}") # 输入处理 if __name__ == "__main__": name = input().strip() student_id = input().strip() score = int(input().strip()) grades = input().strip().split() # 用空格分割成列表 stu = Student(name, student_id, score, grades) stu.print_info() #NP98 修改属性1 # 描述 # 请为牛客网的员工创建一个Employee类,包括属性有姓名(name)、(salary),并设置初始化。同时该类包括一个方法printclass,用于输出类似"NiuNiu'salary is 4000, and his age is 22"的语句。 # 请根据输入的name与salary为该类创建实例e,并调用printclass方法输出信息,如果没有年龄信息则输出错误信息"Error! No age"。 # 根据输入的年龄为实例e直接添加属性age等于输入值,再次调用printclass方法输出信息。(printclass方法中建议使用try...except...结构) # 输入描述: # 三行分别输入姓名name、工资salary、年龄age,其中第一个为字符串,后两个为整型数字。 # 输出描述: # 根据描述输出错误信息或是打印信息。 class Employee: def __init__(self, name, salary): self.name = name self.salary = salary def printclass(self): try: # 尝试访问 age 属性 age = self.age print(f"{self.name}'salary is {self.salary}, and his age is {age}") except AttributeError: # 如果没有 age 属性,输出错误信息 print("Error! No age") # 输入处理 if __name__ == "__main__": name = input().strip() salary = int(input().strip()) age = int(input().strip()) # 创建实例 e = Employee(name, salary) # 第一次调用,此时没有 age 属性 e.printclass() # 直接为实例添加 age 属性 e.age = age # 第二次调用,此时有 age 属性 e.printclass() #sql 基础查询 语法 #select 列名 form 表名 #别名 虚拟列 #列名 as 别名 整体作为一列 #表的别名 #杭州银泰被卖,新的工作需求:技术迭代变更第七天示例代码如下
计划有变,原计划学7天的Python课程提前一天结束,现在开始学数据库操作了。
所以本系列也提前结束。
师父领进门,修行在个人。其他Python知识可以关注我的Python专栏。
关联阅读推荐
Python 面向对象总结:对比 JavaScript 的面向对象