🤵?♂? 个人主页: @北极的三哈 个人主页 👨?💻 作者简介:Python 领域新星创作者。 📒 系列专栏:《牛客题库-Python篇》 🌐推荐《牛客网》——找工作神器 |笔试题库 |面试经验 |实习经验内推 ,求职就业一站解决 👉 点击链接进行注册学习
??python 的学习还是得基础知识+ 自己动手同步进行。如果是python 新手,需要找一个可以在线练习得网站,我建议你去牛客网多练习。
描述 请为牛客网的员工创建一个Employee 类,包括属性有姓名(name)、(salary) ,并设置初始化。同时该类包括一个方法printclass ,用于输出类似'NiuNiu‘s salary is 4000, and his age is 22' 的语句。
请根据输入的name 与salary 为该类创建实例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()
自测运行:
保存提交:
描述 请为牛客网的员工创建一个Employee 类,包括属性有姓名(name)、(salary) ,并设置初始化。同时该类包括一个方法printclass ,用于输出类似'NiuNiu‘s salary is 4000, and his age is 22' 的语句。
请根据输入的信息为Employee 类创建一个实例e ,调用hasattr 方法检验实例有没有属性age ,如果存在属性age 直接调用printclass 输出,否则使用setattr函数为其添加属性age ,并设置值为输入后,再调用printclas s输出。
输入描述: 三行分别依次输入姓名name 、工资salary 、年龄age ,其中第一行为字符串,后两行为整型数字。
输出描述: 第一行输出e 有没有属性age ,True 或者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()
自测运行:
保存提交:
描述 请创建一个Coordinate 类表示坐标系,属性有x和y表示横纵坐标,并为其创建初始化方法__init__ 。
请重载方法__str__ 为输出坐标'(x, y)' 。
请重载方法__add__ ,更改Coordinate 类的相加运算为横坐标与横坐标相加,纵坐标与纵坐标相加,返回结果也是Coordinate 类。
现在输入两组横纵坐标x 和y,请将其初始化为两个Coordinate 类的实例c1 和c2 ,并将坐标相加后输出结果。
输入描述: 第一行输入两个整数x1 与y1 ,以空格间隔。 第二行输入两个整数x2 与y2 ,以空格间隔。
输出描述: 输出相加后的坐标。
示例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())
x2, y2 = map(int, input().split())
c1 = Coordinate(x1, y1)
c1.__add__()
c1.__str__()
自测运行:
保存提交:
推 荐:牛客题霸-经典高频面试题库
🌐 找工作神器-|笔试题库|面试经验|大厂面试题 👉 点击链接进行注册学习
|