python学习11——debug


#  Python学习
# 文件名称:  from.py
# 学习时间:   2022/7/12   18:48

#   1.Bug的由来及分类
#   世界上第一台万用计算机的进化版——markⅡ
#       Bug的常见类型
#    (一)粗心导致的语法错误:
#           (1)age=input('请输出您的年龄:')
#           if age>=18       #改正:int(age)>=18:
#               print('成年人,做事需要负法律责任了')
#           (2)  while i<10:
#                   print(i)
#              改正: i=0
#                   while i<10:
#                       print(i)
#                       i+=1
#           (3) for i in range(3):
#                   uname=input('请输入您的用户名:')
#                   pwd=input('请输入密码:')
#                   if uname='admin' and pwd = 'admin':#  纠正赋值=变为判断等号==
#                       print('登陆成功')
#                       break
#                   else:
#                       print('输入有误')
#               else:
#                   print('对不起,三次输入均有误,拒绝登入')
#       1.漏了末尾的冒号,如if语句,循环语句,else子句
#       2.缩进错误,该缩进的没缩进,不该缩进的瞎缩进
#       3.把英文符号写成中文符号,比如说:引号,冒号,括号
#       4.字符串拼接时,把字符串和数字拼在一起
#       5.没有定义变量,比如说while的循环条件变量
#       6.“==”比较运算符和“=”赋值运算符的混用
#       (二)知识不熟练导致的错误
#           (1)索引越界问题IndexError
#               list1=[11,22,33,44]
#               print(list1[4])
#           (2)append()方法的使用不熟练、
#               list1=[]
#               list1=append('A','B','C')
#               print(list1)
#       (三)思路不清导致的问题解决方案
#           (1)使用print()函数
#           (2)使用‘#’暂时注释部分代码
list1=[{'rating':[9.7,2019],'id':'01','type':['犯罪','爱情'],'title':'肖申克的救赎','actors':['蒂姆·罗宾斯','摩根·弗里曼']},
{'rating':[9.6,2020],'id':'02','type':['剧情','爱情','同性'],'title':'霸王别姬','actors':['张国荣','张丰毅','巩俐','葛优']},
{'rating':[9.5,2021],'id':'03','type':['剧情','爱情'],'title':'阿甘正传','actors':['汤姆·汉克斯','罗宾·怀特']}
]

name=input('您要查询的演员')
for item in list1:
    for i in item['actors']:
        if name==i:
            print(name+'出演了'+item['title'])
    #    if name in i['actors']:
    #        print(name+'出演了'+movie)
#       (四)被动掉坑:程序代码逻辑没有错误,用户错误操作或例外情况
#               解决方法:通过try和except xxx:
#   try:
#       n1=int(input(‘被除数’)
#       n2=int(input('除数')
#       result=n2/n1
#       print('结果为',result)
#   except ZeroDivisionError:
#       print('不能将0作为除数')
#   except ValueError:
#       print('不能将字符串转换为数字')
#   except BaseException as e:
#       print(e)
#   2.不同异常类型的处理方式
#   3.异常处理机制
#   4.Pycharm的调试模式
#  Python学习
# 文件名称:  deal.py
# 学习时间:   2022/7/12   20:18

#   3.python的异常处理机制
try:
    n1=int(input('请输入被除数:'))
    n2=int(input('请输入除数'))
    result=n2/n1
except BaseException as e:
    print(e)
else:
    print('结果为:',result)  #  当发生异常时进入except,不会执行else
finally:
    print('无论是否发生异常,都执行的代码')
#   4.Python中常见异常类型
#   1   ZeroDivisionError   除(或取模)零(所有数据类型)
#   2   IndexError          序列中没有此索引(index)
#   3   KeyError            映射中没有这个键
#   4   NameError           未声明/初始化对象(没有属性)
#   5   SyntaxError         Python语法错误
#   6   ValueError          传入无效的参数

#   5.Python的异常处理机制
#   traceback模块
#       使用traceback模块打印异常信息
'''例子'''
import traceback
try:
    print('1._______')
    num=10/0
except:
    traceback.print_exc()
#  Python学习
# 文件名称:  debug.py
# 学习时间:   2022/7/12   21:12

#   Pycharm开发环境的调试
#   断点:
#       程序运行到此处,暂时挂起,停止执行。此时可以详细观察程序的运行情况,方便做出进一步的判断
#   进入调试视图:
#       进入调试视图的三种方式:
#           (1)单击工具栏上的按钮(debug)(运行三角右边的小虫子)
#           (2)右键单击编辑区:点击:debug‘模块名’
#           (3)快捷键:shift+F9

 

原创文章,作者:sunnyman218,如若转载,请注明出处:https://blog.ytso.com/273885.html

(0)
上一篇 2022年7月12日
下一篇 2022年7月12日

相关推荐

发表回复

登录后才能评论