帮我出一套Python基础考核题目,面向对象题居多,并提供答案
时间: 2023-05-30 10:06:32 浏览: 74
1. 创建一个名为Person的类,具有以下属性和方法:
- 属性:name、age、gender
- 方法:introduce(),打印出该人的姓名、年龄和性别
答案:
```python
class Person:
def __init__(self, name, age, gender):
self.name = name
self.age = age
self.gender = gender
def introduce(self):
print("My name is {0}, I'm {1} years old, {2}.".format(self.name, self.age, self.gender))
```
2. 创建一个名为Student的类,继承自Person类,具有以下属性和方法:
- 属性:grade、classes
- 方法:study(),打印出该学生正在学习的班级和年级
答案:
```python
class Student(Person):
def __init__(self, name, age, gender, grade, classes):
super().__init__(name, age, gender)
self.grade = grade
self.classes = classes
def study(self):
print("I'm a student in grade {0}, studying in class {1}.".format(self.grade, self.classes))
```
3. 创建一个名为Teacher的类,继承自Person类,具有以下属性和方法:
- 属性:subject、salary
- 方法:teach(),打印出该老师正在教授的学科和薪水
答案:
```python
class Teacher(Person):
def __init__(self, name, age, gender, subject, salary):
super().__init__(name, age, gender)
self.subject = subject
self.salary = salary
def teach(self):
print("I'm a teacher of {0}, with a salary of {1}.".format(self.subject, self.salary))
```
4. 创建一个名为Animal的类,具有以下属性和方法:
- 属性:name、age、species
- 方法:introduce(),打印出该动物的姓名、年龄和种类
答案:
```python
class Animal:
def __init__(self, name, age, species):
self.name = name
self.age = age
self.species = species
def introduce(self):
print("I'm {0}, a {1} years old {2}.".format(self.name, self.age, self.species))
```
5. 创建一个名为Cat的类,继承自Animal类,具有以下属性和方法:
- 属性:color、weight
- 方法:meow(),打印出该猫的颜色和体重,并发出一声喵喵叫声
答案:
```python
class Cat(Animal):
def __init__(self, name, age, species, color, weight):
super().__init__(name, age, species)
self.color = color
self.weight = weight
def meow(self):
print("I'm a {0} {1} kg {2} cat. Meow meow~".format(self.color, self.weight, self.species))
```
6. 创建一个名为Rectangle的类,具有以下属性和方法:
- 属性:width、height、area、perimeter
- 方法:calculateArea(),计算并返回该矩形的面积;calculatePerimeter(),计算并返回该矩形的周长
答案:
```python
class Rectangle:
def __init__(self, width, height):
self.width = width
self.height = height
self.area = self.calculateArea()
self.perimeter = self.calculatePerimeter()
def calculateArea(self):
return self.width * self.height
def calculatePerimeter(self):
return 2 * (self.width + self.height)
```
7. 创建一个名为Triangle的类,具有以下属性和方法:
- 属性:a、b、c、area、perimeter
- 方法:calculateArea(),计算并返回该三角形的面积;calculatePerimeter(),计算并返回该三角形的周长
答案:
```python
class Triangle:
def __init__(self, a, b, c):
self.a = a
self.b = b
self.c = c
self.area = self.calculateArea()
self.perimeter = self.calculatePerimeter()
def calculateArea(self):
p = (self.a + self.b + self.c) / 2
return (p * (p - self.a) * (p - self.b) * (p - self.c)) ** 0.5
def calculatePerimeter(self):
return self.a + self.b + self.c
```
8. 创建一个名为BankAccount的类,具有以下属性和方法:
- 属性:balance
- 方法:deposit(amount),向银行账户存款;withdraw(amount),从银行账户取款;checkBalance(),查询银行账户余额
答案:
```python
class BankAccount:
def __init__(self):
self.balance = 0
def deposit(self, amount):
if amount < 0:
return "Invalid amount, please input a positive number."
self.balance += amount
return "Deposit succeeded."
def withdraw(self, amount):
if amount < 0:
return "Invalid amount, please input a positive number."
if self.balance < amount:
return "Insufficient balance."
self.balance -= amount
return "Withdraw succeeded."
def checkBalance(self):
return "Your balance is {0}.".format(self.balance)
```
9. 创建一个名为Customer的类,具有以下属性和方法:
- 属性:name、age、phone、address、bank_account
- 方法:openAccount(),开户,创建一个银行账户;deposit(amount),向银行账户存款;withdraw(amount),从银行账户取款;checkBalance(),查询银行账户余额
答案:
```python
class Customer:
def __init__(self, name, age, phone, address):
self.name = name
self.age = age
self.phone = phone
self.address = address
self.bank_account = BankAccount()
def openAccount(self):
return "Your bank account has been created."
def deposit(self, amount):
return self.bank_account.deposit(amount)
def withdraw(self, amount):
return self.bank_account.withdraw(amount)
def checkBalance(self):
return self.bank_account.checkBalance()
```
10. 创建一个名为Employee的类,具有以下属性和方法:
- 属性:name、age、salary、position
- 方法:work(),打印出该员工正在工作,并返回一个字符串,指示员工的职位和薪水
答案:
```python
class Employee:
def __init__(self, name, age, salary, position):
self.name = name
self.age = age
self.salary = salary
self.position = position
def work(self):
print("I'm working as a {0} with a salary of {1}.".format(self.position, self.salary))
return "Working as a {0} with a salary of {1}.".format(self.position, self.salary)
```
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)