异常 try except with

#输入两个数 输出之间质数 ,和 尾数为3.

data=int(input('请输入第一个数:'))
data1=int(input('请输入第二个数:'))
h=0
gs=0
for i in range(data,data1):
    j=2
    while j<i:
        if i%j==0:
            break
        j+=1
    else:
        print(i,end=' ')
        h+=i
        if i%10==3:
            gs+=1
print(h,  gs)

#异常

a=[12,13]
try:#测试 尝试
    print(a[3])
except IndexError as e:#下标越界 e 定义一个变量接受 值
    print('出现错误了',e)
print('程序出现错误')

#异常

class a():
    pass
try:
    print(a.x)
except AttributeError as x:#未知属性
    print(x)

#异常

a={'q':1,'w':2}
try:
    print(a['e'])
except KeyError as m:#找不到关键字
    print(m)

#异常

a=[1,2,3,4,5]
b=iter(a)#迭代器
try:
    while True:
        print(next(b))#超出限制
except StopIteration as t:
    print(t)
#while True:
    try:
        print(next(b))
    except StopIteration as t:
     print(t)
         break

#有异常会直接捕捉,下面不运行,所以只报第一个异常

a=[1,2,]
try:
    print(a[3])#索引异常
    print(1/0)#除0异常
except (ZeroDivisionError,IndexError) as q:#可以接收除0异常与索引异常
    print(q)

#无异常

a=[1,2,]
try:
    print(1111)
except (ZeroDivisionError,IndexError) as q:
    print(q)
else:
    print('我没错')

#except:可以捕捉所有异常,但同时只能捕捉一个异常

a=[1,2,]
try:
    print(a[3])
    print(2/0)
    print(1111)
except :#可以捕捉所有异常,但同时只能捕捉一个异常
    print(2)
else:
    print('我没错')

#try…finally…如果一个代码必须要执行,无论对错,就用finally。

a=[1,2,]
try:
    #print(a[3])
    print(1111)
except :
    print(2)
else:
    print('我没错')
finally:#无论是否出错,都运行
    print('都运行')

#finally

try:
    f=open('c.txt','r')#文件必须存在
    f.write('122')
except:
    print('错了')
else:
    print('没错')
finally:
    print('无论是否出事,都走这步')
    f.close()#打开一个文件 无论对错 都必须关闭文件,所以用finall

#文件的读取

with open('a.txt','r') as f:#程序运行文会自动关闭文件
    e=f.read()
    print(e)

#主动抛出一个异常

a=10
raise IndexError('错了')
print('123')

#捕捉rasie异常

a=10
try:
    raise IndexError('错了')
except IndexError as e:
    print(e)

#类 异常

class a(Exception):
    def __init__(self,msg):
        self.msg=msg
    def __str__(self):
        return str(self.msg+'五星级异常')
try:
    raise a('我是')
except a as e:
    print(e)

#dir 查看属性

class student():
    def __init__(self,name,age,sex ,score):
        self.name=name
        self.age=age
        self.sex=sex
        self.score=score
a=student('张三',19,'男',99)
print(dir(a))
print(a.name,a.age,a.sex,a.score)

#类属性 删除

class student():
    address='朝阳'
    def __init__(self,name):
        self.name=name
a=student('张三')
print(a.name,a.address)
a.address='海淀'
print(a.name,a.address)
#del a.address
delattr(a,'address')#正规用法
print(a.name,a.address)

#类

class a():
    def __init__(self,name):
        self.name=name
def hh():
    print('你好')
z=a('张三')
z.h=hh
z.h()

#类方法

class a():
    count=4
    def __init__(self,name):
        self.name=name
    @classmethod#类方法
    def hh(cls):
        print(cls.count)
        #print(a.count)
a.hh()
b=a('z')
b.hh()
print(isinstance(b,a))#判断一个对象是否是一个已知的类型

#单例

class a():
    def __new__(cls, *args, **kwargs):
        if not hasattr(a,'xg'):
            cls.xg=object.__new__(a)
        return cls.xg
    def __init__(self,name):
        self.name=name
z=a('小黑')
x=a('小欢')
print(z==x)

#创建多级目录 ,判断是否存在,不存在加入。

import os
a=input('请输入:')
b=a.split('\\')
p=os.getcwd()#获取当前工作目录
for d in b:
    p=p+'\\'+d#多级目录
    if not  os.path.exists(p):
        os.mkdir(p,0o777)

#创建新的地址

import os
a=input('请输入:')
b=a.split('\\')
p=os.getcwd()
for d in b:
    p=os.path.join(p,d)#目录地址
    if not  os.path.exists(p):#
        os.mkdir(p,0o777)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值