首页 > 编程语言 >python-设计异常处理类Cexception,并基于异常处理类设计并实现日期类Date

python-设计异常处理类Cexception,并基于异常处理类设计并实现日期类Date

时间:2024-05-08 09:04:19浏览次数:19  
标签:Cexception python self legal month year 异常 day

题目描述

定义一个异常类Cexception解决日期类实现中的自定义异常处理。设计的日期类应包含以下内容:

①  有三个成员数据:年、月、日;

②  有设置日期的成员函数;

③  有用格式"月/日/年"输出日期的成员函数;

④  要求在日期设置及有参构造函数中添加异常处理。

【源代码程序】

class Cexception :

    def __init__(self,year,month,day):

        if Cexception.judge(year,month,day) :

            self.year = year

            self.month = month

            self.day = day

        else:

            self.year = -1

            self.month = -1

            self.day = -1

            print("日期有误")

    def setTime(self,year,month,day):

        if Cexception.judge(year,month,day) :

            self.year = year

            self.month = month

            self.day = day

        else:

            self.year = -1

            self.month = -1

            self.day = -1

            print("日期有误")

    def display(self):

        if self.month ==-1 or  self.year == -1 or self.day == -1:

            print("",end="")

        else:

            print(str(self.month)+"/"+str(self.day)+"/"+str(self.year))

    def judge(year,month,day):

        leap = False

        legal = False

        if year>0:

            if year % 4 == 0 and year % 100 != 0 or year % 400 == 0:

                leap = True

            if month in [1, 3, 5, 7, 8, 10, 12]:

                if 1 <= day <= 31:

                    legal = True

            elif month in [4, 6, 9, 11]:

                if 1 <= day <= 30:

                    legal = True

            elif month == 2:

                if not leap and 1 <= day <= 28:

                    legal = True

                elif leap and 1 <= day <= 29:

                    legal = True

        else:

            legal = False

        return legal

 

c = Cexception(-1,11,2)

c.display()

c = Cexception(2019,11,2)

c.display()

c = Cexception(2019,2,29)

c.display()

c = Cexception(2020,2,29)

c.display()

 

运行测试

 

标签:Cexception,python,self,legal,month,year,异常,day
From: https://www.cnblogs.com/yuanxinglan/p/18178882

相关文章

  • python-设计并实现平面点类Point
    【题目描述】定义一个平面点类Point,对其重载运算符关系运算符,关系运算以距离坐标原点的远近作为基准,远的为大。程序完成对其的测试。【源代码程序】importmathclassPoint():    def__init__(self,x,y):        self.x=x        self.y=y   ......
  • 华为云开发者桌面全新发布CodeArts IDE for Python,极致优雅云原生开发体验
    本文分享自华为云社区《华为云发布CodeArtsIDEforPython,极致优雅云原生开发体验》,作者:华为云头条。近日,华为云正式发布CodeArtsIDEforPython,这是一款内置华为自主创新的Python语言服务,提供智能编程、灵活调试能力的可扩展桌面开发工具,为华为云开发者提供卓越Python编码体验......
  • python教程6.1-模块和包
    模块分类1、内置标准模块(⼜称标准库)执⾏help(‘modules’)查看所有python⾃带模块列表2、第三⽅开源模块,可通过pipinstall模块名联⽹安装3、⾃定义模块模块导入&调用自定义模块创建⼀个.py⽂件,就可以称之为模块,就可以在另外⼀个程序⾥导⼊ 第三方开源模块安装https:......
  • java异常报警
    `@Component@Aspect@Slf4jpublicclassServiceExceptionHandler{@ResourceExceptionWarnSendsend;//Service层切点@Pointcut("@annotation(mrh.com.modules.app.annotation.ServiceJobExcepCatch)")publicvoidserviceAspect(){}//全局异常注解@Around(&......
  • 【Python+渗透测试实战】7
    第7章:Python编写一个远程控制程序远程控制是网络安全的一个极为重要的内容,无论是网络安全的维护者还是破坏者都会对此进行研究。维护者的目标是保证远程控制的安全,而破坏者则往往希望能够凭借各种手段来实现对目标设备的远程控制。经过本章的学习,你将掌握以下内容。什么是......
  • windows 环境下python和R的交互
    Rstudio调用Python模块:0.查看python路径sessionInfo()指定python路径library(reticulate)#R使用python的工具path_to_python<-"D:/python"use_python(path_to_python)reticulate::use_python(path_to_python)anndata是python模块,初次运行报错library(anndata)ad<-r......
  • python——入门
    操作系统操作系统就是一个特殊的软件作用有两个,第一个:直接操作硬件;第二个:把操作硬件的代码封装成一个又一个的系统调用python的特点python是完全面向对象的语言函数,模块,数字,字符串都是对象,在python中一切皆对象完全支持继承,重载,多重继承支持重载运算符,也支持泛型设计......
  • Playwright Python 在Linux上跑,默认语言是英文的坑
    背景:在Windows上调试之后,在Linux上跑,发现如下保存playwright._impl._errors.TimeoutError:Locator.click:Timeout30000msexceeded.Calllog:waitingforget_by_text("账号密码登录")然后各种找,找了一圈,发现一个灵感是截图page.screenshot(path='c.png',full_page=True)......
  • python读取nc文件
    使用netCDF4库读取nc文件#***1数据读取与处理#打开NetCDF文件GA_id=nc.Dataset('taiwan_GA.nc','r')DOV_E_id=nc.Dataset('taiwan_DOV_E.nc','r')DOV_N_id=nc.Dataset('taiwan_DOV_N.nc','r')VGG_id=nc.Dat......
  • python-ncm2mp3格式转换
    1、背景:华为音乐VS华为手表,双输华为gtrunner手表导入音乐,在开通了华为音乐会员导入后,通过手表播放竟然还需要连接手机确认会员有效性才能播放,真实逆天啊,不图导入方便我都不开会员好么!手表单独播放音乐就是为了脱离手机,你告诉我必须连接手机音乐app验证,wtf,产品经理你在梦游吗?2、......