Python学习笔记9——bug

1、字符串和数字不能一起拼接
2、思路不清晰时,导致的错误。可以将相应步骤的结果print输出出来看得到的是什么,然后再将出现问题的代码注释掉,分析进行下一步操作

lst = [{'title':'霸王别姬','actor':['张国荣','巩俐']},
       {'title':'扬名立万','actor':['邓家佳','尹正']},
       {'title':'误杀','actor':['肖央','谭卓']}]
name = input('请输入演员名字:')
for movie in lst:
    lst_actor = movie['actor']
    if name in lst_actor:
        print(name,'出演了',movie['title'])

输出结果:
请输入演员名字:张国荣
张国荣 出演了 霸王别姬

3、python的异常处理机制

a = int(input('请输入一个整数:'))
b = int(input('请输入另一个整数:'))
result = a/b
print("结果为:",result)
#当b输入0时,会报错 ZeroDivisionError: division by zero
#当输入非数字时,报错 ValueError: invalid literal for int() with base 10: 'a'

3.1 try-多个except

try:
    a = int(input('请输入一个整数:'))
    b = int(input('请输入另一个整数:'))
    result = a / b
    print("结果为:", result)
except ZeroDivisionError:
    print("对不起,除数不允许为0")
except ValueError:
    print("只能输入数字串")
except BaseException as e:
    print(e)
print("程序结束!")

输出结果1:
请输入一个整数:a
只能输入数字串
程序结束!

输出结果2:
请输入一个整数:5
请输入另一个整数:0
对不起,除数不允许为0
程序结束!

输出结果3:
请输入一个整数:6
请输入另一个整数:5
结果为: 1.2
程序结束!

3.2 try-except-else
如果try块没有抛出异常,则执行else块;如果try中抛出异常,则执行except块

try:
    a = int(input('请输入一个整数:'))
    b = int(input('请输入另一个整数:'))
    result = a / b
except BaseException as e:
    print("出错了",e)
else:
    print("结果为:", result)

输出结果1:
请输入一个整数:4
请输入另一个整数:5
结果为: 0.8

输出结果2:
请输入一个整数:l
出错了 invalid literal for int() with base 10: ‘l’

3.3 try-except-else-finally
finally块无论是否异常都会被执行,一般用来释放try块中存放的资源

try:
    a = int(input('请输入一个整数:'))
    b = int(input('请输入另一个整数:'))
    result = a / b
except BaseException as e:
    print("出错了", e)
else:
    print("结果为:", result)
finally:
    print("谢谢您的使用!")
print("程序结束!")

输出结果1:
请输入一个整数:4
请输入另一个整数:5
结果为: 0.8
谢谢您的使用!
程序结束!

输出结果2:
请输入一个整数:6
请输入另一个整数:0
出错了 division by zero
谢谢您的使用!
程序结束!

4、当程序执行到断点处时,是会暂停执行的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值