(day2)每日两题(python编程题)

 1 # 1.矩形与正方形两个类,求周长与面积。分别使用不继承与继承两种方式,并总结出继承的优势。
 2 class Rectangle:
 3     name="矩形"
 4     def __init__(self):
 5         self.a = 4
 6         self.b = 3
 7     def circumfere(self):
 8         c=((self.a)+(self.b))*2
 9         print("{}的周长为{}".format(self.__class__.name,c))
10     def area(self):
11         s=(self.a)*(self.b)
12         print("{}的面积为{}".format(self.__class__.name,s))
13 
14 class Square():
15     def __init__(self):
16         self.a = 4
17     def circumfere(self):
18         c = (self.a) *4
19         print("正方形的周长为{}".format(c))
20     def area(self):
21         s = (self.a) **2
22         print("正方形的面积为{}".format(s))
23 s1=Rectangle()
24 s1.circumfere()#矩形的周长为14
25 s1.area()#矩形的面积为12
26 s2=Square()
27 s2.circumfere()#正方形的周长为16
28 s2.area()#正方形的面积为16
29 
30 #继承
31 class Square2(Rectangle):
32     def circumfere(self):
33         self.b = self.a
34         self.__class__.name = "正方形"
35         super().circumfere()
36     def area(self):
37         self.b = self.a
38         self.__class__.name = "正方形"
39         super().area()
40 s3=Square2()
41 s3.circumfere()#周长
42 s3.area()#正方形的面积为16
 
# 2.编写一个分页显示类,初始化传入记录总数。希望可以通过设置每页记录数和页码,可以显示当前页的信息。
# 其中每页记录数与页码使用property实现。注意,如果页码设置不正确(如<1或者>最大页码),提示错误信息。
# 设计方法能够返回当前页显示的记录区间。
# Page(20)
# pagesize=5
# # 一共应该有4页
# currenPage=6
# show可以显示第三页的信息
# 这是第11-15条记录。。。。
class Page:
    def __init__(self,s):
        self.s=s
        self.__pagesize=0
    @property
    def pagesize(self):
        return self.__pagesize
    @pagesize.setter
    def pagesize(self,pagesize):
        self.__pagesize=pagesize
    def show(self,x):
        if self.__pagesize>0:
            a=self.s%self.__pagesize
            b=self.s//self.__pagesize
            if a==0:
                maxpage=b
                if x<1 or x>maxpage:
                    print("输入页数有误")
                else:
                    print("这是第{}页,本页为{}-{}条信息,共{}页".format(x,(x-1)*self.__pagesize+1,x*self.__pagesize,maxpage))
            else:
                maxpage =b+1
                if x<1 or x>maxpage:
                    print("输入页数有误")
                else:
                    if x!=maxpage:
                        print("这是第{}页,本页为{}-{}条信息,共{}页".format(x, (x - 1) * self.__pagesize + 1, x * self.__pagesize,maxpage))
                    elif x==maxpage:
                        print("这是第{}页,本页为{}-{}条信息,共{}页".format(x,(x -1) * self.__pagesize + 1, self.s,maxpage))
        else:
            print("pagesize值不合法,应大于0")
p1=Page(20)
p1.pagesize=5
p1.show(4)#这是第4页,本页为16-20条信息,共4页

p2=Page(32)
p2.pagesize=6
p2.show(6)#这是第6页,本页为31-32条信息,共6页

猜你喜欢

转载自www.cnblogs.com/mengzhi7/p/9649972.html