Python 1.创建一个“Person”基类,具有属性“name, age, home”属性,具有“introduceMyself”方法; 2.创建一个“Student”子类,增加属性“ID”,增加方法: (1)查询时间:定义query_time函数,调用后可以在命令行显示当前的时间 (2)写入文档:定义write函数,调用时需提供一个文档路径,从命令行输入一串话,可以将该内容保存到指定文档路径 (3)摇色子(3个):定义函数throw_dice(),调用后会生成三个数(范围在1-6之内的整数)
时间: 2024-02-18 10:03:01 浏览: 186
好的,这是一个 Python 的面向对象编程的问题,让我来帮助你解答。
首先,我们需要定义一个“Person”类,代码如下:
```
class Person:
def __init__(self, name, age, home):
self.name = name
self.age = age
self.home = home
def introduceMyself(self):
print(f"My name is {self.name}, I'm {self.age} years old, and I'm from {self.home}.")
```
这个类有三个属性,分别是“name”(姓名)、“age”(年龄)、“home”(家乡),还有一个“introduceMyself”方法,可以介绍自己。
接下来,我们可以创建一个“Student”类,继承“Person”类,并增加新的属性和方法。新属性是“ID”,新方法有三个,分别是“query_time”、“write”和“throw_dice”。
```
import random
import time
class Student(Person):
def __init__(self, name, age, home, ID):
super().__init__(name, age, home)
self.ID = ID
def query_time(self):
print("The current time is:", time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))
def write(self, path):
content = input("Please enter the content you want to write: ")
with open(path, "w") as f:
f.write(content)
def throw_dice(self):
dice1 = random.randint(1, 6)
dice2 = random.randint(1, 6)
dice3 = random.randint(1, 6)
print(f"The first dice is {dice1}, the second dice is {dice2}, and the third dice is {dice3}.")
```
这个类继承了“Person”类,所以我们需要在“__init__”方法中调用一下父类的构造函数。然后,我们增加了三个方法,“query_time”可以查询当前时间,并在命令行中显示;“write”可以将输入的内容写入指定路径的文档中;“throw_dice”可以随机生成三个数,模拟掷骰子的过程。
最后,我们可以创建一个“Student”对象,并调用它的方法,来测试一下代码:
```
s = Student("Tom", 20, "Beijing", "20190101")
s.introduceMyself() # My name is Tom, I'm 20 years old, and I'm from Beijing.
s.query_time() # The current time is: 2021-12-08 15:50:30
s.write("test.txt") # Please enter the content you want to write: Hello, world!
# 在当前目录下会生成一个名为“test.txt”的文件,里面的内容是“Hello, world!”
s.throw_dice() # The first dice is 4, the second dice is 6, and the third dice is 2.
```
以上就是代码的实现,希望能够帮助到你!
阅读全文