当前位置:首页 » 《随便一记》 » 正文

【Python刷题篇】——Python入门 011面向对象(二)

9 人参与  2022年12月22日 14:09  分类 : 《随便一记》  评论

点击全文阅读


在这里插入图片描述

?‍♂️ 个人主页: @北极的三哈 个人主页

?‍? 作者简介:Python领域新星创作者。

? 系列专栏:《牛客刷题-Python篇》《牛客刷题-SQL篇》

?推荐《牛客网》——找工作神器|笔试题库|面试经验|实习经验内推求职就业一站解决

? 点击链接进行注册学习

在这里插入图片描述


Python入门:011 面向对象 NP94-NP100

在这里插入图片描述


面向对象(二)NP98-NP100


NP98 修改属性1

描述
请为牛客网的员工创建一个Employee类,包括属性有姓名(name)、(salary),并设置初始化。同时该类包括一个方法printclass,用于输出类似'NiuNiu‘s salary is 4000, and his age is 22'的语句。

请根据输入的namesalary为该类创建实例e,并调用printclass方法输出信息,如果没有年龄信息则输出错误信息"Error! No age"

根据输入的年龄为实例e直接添加属性age等于输入值,再次调用printclass方法输出信息。(printclass方法中建议使用try...except...结构)

输入描述:
三行分别输入姓名name、工资salary、年龄age,其中第一个为字符串,后两个为整型数字。

输出描述:
根据描述输出错误信息或是打印信息。

示例1
输入:NiuNiu
   8000
   22
输出:Error! No age
   NiuNiu'salary is 8000, and his age is 22

代码:

class employee:    def __init__(self,name,salary,age=-1):        self.name=name        self.salary=salary        self.age=age    def printclass(self):        if self.age==-1:            print("Error! No age")        else:            print("{}'salary is {}, and his age is {}".format(self.name,self.salary,self.age))a=input()b=int(input())c=int(input())e=employee(a,b)e.printclass()e.age=c e.printclass()

自测运行:
在这里插入图片描述

保存提交:
在这里插入图片描述


NP99 修改属性2

描述
请为牛客网的员工创建一个Employee类,包括属性有姓名(name)、(salary),并设置初始化。同时该类包括一个方法printclass,用于输出类似'NiuNiu‘s salary is 4000, and his age is 22'的语句。

请根据输入的信息为Employee类创建一个实例e,调用hasattr方法检验实例有没有属性age,如果存在属性age直接调用printclass输出,否则使用setattr函数为其添加属性age,并设置值为输入后,再调用printclass输出。

输入描述:
三行分别依次输入姓名name、工资salary、年龄age,其中第一行为字符串,后两行为整型数字。

输出描述:
第一行输出e有没有属性ageTrue或者False
第二行输出printclass打印信息。

示例1
输入:NiuNiu
   4000
   23
输出:False
   NiuNiu'salary is 4000, and his age is 23

代码:

class Employee():    def __init__(self, name, salary) -> None:        self.name = name        self.salary = salary    def printclass(self):        print(f"{self.name}'salary is {self.salary}, and his age is {self.age}")          name = input()salary = int(input())age = int(input()) e = Employee(name, salary)if hasattr(e,'age'):    e.printclass()else:    print(False)    setattr(e,"age",age)    e.printclass()

自测运行:
在这里插入图片描述

保存提交:
在这里插入图片描述


NP100 重载运算

描述
请创建一个Coordinate类表示坐标系,属性有x和y表示横纵坐标,并为其创建初始化方法__init__

请重载方法__str__为输出坐标'(x, y)'

请重载方法__add__,更改Coordinate类的相加运算为横坐标与横坐标相加,纵坐标与纵坐标相加,返回结果也是Coordinate类。

现在输入两组横纵坐标x和y,请将其初始化为两个Coordinate类的实例c1c2,并将坐标相加后输出结果。

输入描述:
第一行输入两个整数x1y1,以空格间隔。
第二行输入两个整数x2y2,以空格间隔。

输出描述:
输出相加后的坐标。

示例1
输入:1 2
   3 4
输出:(4, 6)

代码:

class Coordinate():    def __init__(self, x, y):        self.x = x        self.y = y             def __str__(self):        print((self.x, self.y))             def __add__(self):        self.x = x1 + x2        self.y = y1 + y2              x1, y1 = map(int, input().split()) # 1.输入第一行两个数字x2, y2 = map(int, input().split())  # 1.输入第二行两个数字 c1 = Coordinate(x1, y1)  # 2. 调用类c1.__add__()  # 3. 调用__add__()函数,实现两组数据分别对应相加c1.__str__()  # 4. 调用__str__()函数,打印(相加之后的x, 相加之后的y)

自测运行:
在这里插入图片描述

保存提交:
在这里插入图片描述


推 荐:牛客题霸-经典高频面试题库

? 找工作神器-|笔试题库|面试经验|大厂面试题 ? 点击链接进行注册学习
在这里插入图片描述


点击全文阅读


本文链接:http://m.zhangshiyu.com/post/50195.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 全文像春天原谅了所有雪精彩剧情(顾时***)列表_全文像春天原谅了所有雪精彩剧情
  • 无端却被春风误完结孟南汐宋祁钰完本_无端却被春风误完结(孟南汐宋祁钰)
  • 繁花盛意难平结局+番外(陆依霜轩辕翊)列表_繁花盛意难平结局+番外(陆依霜轩辕翊)全书+后续+结局在线
  • [拍卖会点天灯后,男友拍卖我365张私房照]后续全文免费阅读_秦斯年林书雅苏瑶人气小说未删减节选
  • 老婆为了秘书的运势杀了我的猫小说精彩节选试读_「崔思远思远丁俊语」删减内容修复版本
  • 无端却被春风误***后续(孟南汐宋祁钰)
  • 人面桃花长相忆+后续+番外火爆情节阮雾梨闻砚辞阮见微完本_人面桃花长相忆+后续+番外火爆情节(阮雾梨闻砚辞阮见微)
  • 繁花盛意难平情感纠葛(陆依霜轩辕翊)全书免费_(陆依霜轩辕翊)繁花盛意难平情感纠葛后续(陆依霜轩辕翊)
  • 苔藓爬满旧日诺言+后续+结局(慕晚夏顾砚廷)结局_(慕晚夏顾砚廷苔藓爬满旧日诺言+后续+结局全书结局)结局列表_笔趣阁(慕晚夏顾砚廷)
  • (番外)+(结局)繁花难入深渊结局+番外(白问夏江宴)完结_(繁花难入深渊结局+番外)列表_笔趣阁(白问夏江宴)
  • 人面桃花长相忆彩蛋列表_人面桃花长相忆彩蛋(阮雾梨闻砚辞)
  • [魅魔狐狸精]全文在线阅读_[沈知阿婉温柔]角色专属支线试读入口

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1