代码题 23 请按要求完成如下的综合应用: (1)手动在当前项目根目录下先新建一个singer.txt文件,内容如下: 沉默是金,张国荣 少女的祈祷,杨千嬅 暗里着迷,刘德华 难念的经,周华健 (2)定义一个Singer类(歌手类),包含初始化init方法: 成员属性: 歌曲名 歌手名字 成员方法show_fans():打印“XXX歌手的YYY歌曲持续打榜,粉丝为喜欢的歌手打call”,其中,XXX为对象的歌手名字,YYY为对象的歌曲名 (3)在歌手类外面完成以下功能: a)通过程序逐行读取singer.txt文件内容,根据每行数据创建对应歌手对象并赋值,依次将歌手对象存入列表; b)遍历列表,获取元素并调用对象的show_fans()方法
时间: 2024-02-22 17:58:41 浏览: 138
target-stitch:针迹导入API的Singer.io目标
以下是代码实现:
```python
# Singer类定义
class Singer:
def __init__(self, song_name, singer_name):
self.song_name = song_name
self.singer_name = singer_name
def show_fans(self):
print(f"{self.singer_name}的{self.song_name}持续打榜,粉丝为喜欢的歌手打call")
# 读取singer.txt文件并创建歌手对象
singer_list = []
with open("singer.txt", "r") as f:
for line in f:
song_name, singer_name = line.strip().split(",")
singer = Singer(song_name, singer_name)
singer_list.append(singer)
# 调用歌手对象的show_fans()方法
for singer in singer_list:
singer.show_fans()
```
输出结果:
```
张国荣的沉默是金持续打榜,粉丝为喜欢的歌手打call
杨千嬅的少女的祈祷持续打榜,粉丝为喜欢的歌手打call
刘德华的暗里着迷持续打榜,粉丝为喜欢的歌手打call
周华健的难念的经持续打榜,粉丝为喜欢的歌手打call
```
阅读全文