新闻,类 实现添加、查找、输出、删除等功能

入门新手,记录随堂作业!

1、定义News 类,其中包括五个私有变量,各成员的含义如下:
变量newsid 为整数类型int,用于存储新闻的序号,从1 开始,每次自
动加1。
变量newstitle 为字符串类型String,用于存储新闻的标题。
变量newscontent 为字符串类型String,用于存储新闻的内容。
变量newsauthor 为字符串类型String,用于存储新闻的作者。
变量isavailable 为boolean 类型,用于表示新闻是否可以发表,false
表示不允许发表,ture 表示可以发表。
并对每个变量定义get()(读取变量信息)和set()(设置变量信息)
的方法。
赋初值方法包括五个参数,用于为变量(newsid,newstitle,newscontent,
newsauthor,isavailable)赋值。

2、定义NewsManager 类实现下列要求。
(1)利用数组实现至少存储五条新闻的信息;(新闻作者为考生本人信
息)。
(2)定义showNews()方法打印输出所有的新闻信息;
(3)定义addNews (newsid,newstitle,newscontent,newsauthor,
isavailable)方法增加一条新新闻信息,newsid 为当前存储新闻序号最
大值加1,isavailable 初始状态为true;
(4)定义deleteNews(newsid)方法删除该条新闻(将该新闻所有信息
清空);
(5)定义updateNews (newsid)方法修改新闻状态,原有状态为ture 修
改为false,原有状态为false 修改为ture;
(6)定义selectNews(newsid)查询并且输出该条新闻的全部信息。
(7)定义一个输入界面如下图所示,选择相应的数字执行相应的功能
1 显示新闻信息;
2 增加新闻信息;
3 删除新闻信息;
4 修改新闻信息;
5 查询新闻信息

 

 

class News():
    def __init__(self,newside,newstitle,newsauthor,newscontent,newsavailable):
        self.newside = newside
        self.newstitle = newstitle
        self.newsauthor = newsauthor
        self.newscontent = newscontent
        self.newsavailable = newsavailable

    def setnewside(self,newside):
        self.newside = newside
    def getnewside(self):
        return self.newside
    def setnewstitle(self, newstitle):
        self.newstitle = newstitle
    def getnewstitle(self):
        return self.newstitle
    def setnewsauthor(self, newsauthor):
        self.newsauthor = newsauthor
    def getnewsauthor(self):
        return self.newsauthor
    def setnewscontent(self, newscontent):
        self.newscontent = newscontent
    def getnewscontent(self):
        return self.newscontent
    def setnewsavailable(self, newsavailable):
        self.newsavailable = newsavailable
    def getnewsavailable(self):
        return self.newsavailable



class NewsManager(News):

    def __init__(self):
        self.news = []   # 初始化一个空的数组 用来存放对象

    def showNews(self):
        for i in self.news:
            ns = i.getnewside()
            nt = i.getnewstitle()
            na = i.getnewsauthor()
            nc = i.getnewscontent()
            nav = i.getnewsavailable()
            print("序号{},题目{},作者{},内容{},是否公开{}".format(ns,nt,na,nc,nav))


    def addNews(self):
        newside = len(self.news) + 1
        newstitle = input("请输入newstitle:")
        newsauthor = input("请输入newsauthor:")
        newscontent = input("请输入newscontent:")
        newsavailable= bool(input("请输入newsavailable:"))

        a = News(newside,newstitle,newsauthor,newscontent,newsavailable)
        self.news.append(a)


    def deleteNews(self):
        i = int(input("请输入所删除新闻序号:"))
        self.news.pop(i - 1)
        print("第{}条新闻已删除".format(i))
    def updateNews(self):
        i = int(input("请输入所想要更新的新闻序号:"))
        b = self.news[i-1].getnewsavailable()
        self.news[i-1].setnewsavailable(bool(1-b))

    def selectNews(self):
        i = int(input("请输入所选择的新闻序号:"))
        print()



def main():
    a = NewsManager()
    i=0
    while(i!=6):
        print("1 显示新闻信息2 增加新闻信息3 删除新闻信息4 修改新闻信息5 查询新闻信息 6 退出")
        i = int(input())
        if i == 1:
            a.showNews()
        if i == 2:
            a.addNews()
        if i == 3:
            a.deleteNews()
        if i == 4:
            a.updateNews()
        if i == 5:
            a.selectNews()
        if i == 6:
            break

if __name__ == '__main__':
    main()

你可能感兴趣的:(新闻,类 实现添加、查找、输出、删除等功能)