本文是Python入门系列的最后一篇包含多个实用案例使用set函数对年会报名名单去重计算不同半径球的表面积实现Student类管理学生信息Employee类处理员工数据。最后介绍SQL基础查询语法并说明Python课程提前结束转向数据库学习。文章强调师父领进门修行在个人建议读者如有需要可以继续深入学习Python的其他知识。这是《Python 7 天入门》系列文章集合中的第七篇先去复习第六天的内容#NP93 创建集合 #某公司内部报名年会活动因为是匿名报名有的同事可能偷偷“帮助”别人报名了导致一个名字出现多次。后台营运同学希望你能用set函数将这些名字记录为一个集合以到达去重的目的请输出这些名字创建的集合输出的时候使用sorted函数对集合排序。 iinput().split( ) liset(i) print(sorted(li)) #NP96 #球的表面积公式为 V4πr2,请写一个函数输入球的半径返回球的表面积。球的半径如下[1, 2, 4, 9, 10, 13]请输出这些半径下的表面积π取math库的math.pi。 import math wmath.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用于输出类似NiuNiusalary 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 的面向对象