![4ebf350094765d094970954a5ce43faa.png](https://i-blog.csdnimg.cn/blog_migrate/da62af765859396deeafe90fee8174d0.jpeg)
》》点赞,收藏+关注,理财&技术不迷路《《
课后练习题二十八(异常处理1):
结合你自身的编程经验,总结下异常处理机制的重要性?
![ffac4a190bf1fac0a65b37fc960cae85.png](https://i-blog.csdnimg.cn/blog_migrate/4894151e10bb22dcc5dcef78cfddd160.png)
请问以下代码是否会产生异常,如果会的话,请写出异常的名称:
![1afde386512970405878fa4dac8c905d.png](https://i-blog.csdnimg.cn/blog_migrate/0052b5aad3e0eaabf7b5d9fe5f4587b5.png)
请问以下代码是否会产生异常,如果会的话,请写出异常的名称:
![ff5eec4a67e4f8b6aff02f80db03846f.png](https://i-blog.csdnimg.cn/blog_migrate/bf7a9bd8569510027690372fbd054d8e.png)
请问以下代码是否会产生异常,如果会的话,请写出异常的名称:
![fabfdcd6d62c04c777e338453faad9c6.png](https://i-blog.csdnimg.cn/blog_migrate/c53a65e5cc6903babc613d0834e9bd83.png)
请问以下代码是否会产生异常,如果会的话,请写出异常的名称:
![e2764a98a122a4ab2ba01f0db46b4c89.png](https://i-blog.csdnimg.cn/blog_migrate/e9585b648b0a58bcc719c867390a9a71.png)
请问以下代码是否会产生异常,如果会的话,请写出异常的名称:
![cc9f915906cdcc54c2ebb344c48b4dfa.png](https://i-blog.csdnimg.cn/blog_migrate/7ebe2f7100412a4989031662f359d6fc.png)
请问以下代码是否会产生异常,如果会的话,请写出异常的名称:
![1b79491f1f929841793a7db2188dfeb4.png](https://i-blog.csdnimg.cn/blog_migrate/0987193fbecbd1f69a6aa3b698da9d7f.png)
![57ad2858d97ddd6eb1f63c3081901c2c.png](https://i-blog.csdnimg.cn/blog_migrate/e9a69679973d34feb4b44714382e45d4.png)
请问以下代码是否会产生异常,如果会的话,请写出异常的名称:
![3ae5edaaa90ec726b760503ab4c9c4bb.png](https://i-blog.csdnimg.cn/blog_migrate/4c30ecd88bd1a681be5d127a59da0cc6.jpeg)
课后练习题二十九(异常处理2):
我们使用什么方法来处理程序中出现的异常?
![99df087b1f394a7743792f776f828918.png](https://i-blog.csdnimg.cn/blog_migrate/4071e71344003ed48dfb7b9831fa1dfc.png)
一个try语句可以和多个except语句搭配吗?为什么?
![474dd386cf4a8806583ff2c25b656d84.png](https://i-blog.csdnimg.cn/blog_migrate/8927730b7ec884c4a9b81dead7706509.png)
你知道如何统一处理多累异常吗?
![2fa12e709e7a8497ebf9ac0c64de5047.png](https://i-blog.csdnimg.cn/blog_migrate/173865b36a22c7614fccc25f917858b3.png)
Except 后边如果不带任何异常类,python 会捕获所有(try语句块内)的异常并统一处理,但小甲鱼不建议这么做,你知道为什么吗?
![ee8a08f864e7225cd69f7f5a824f087f.png](https://i-blog.csdnimg.cn/blog_migrate/9bfd8847d32eca58fa6e4575ee1a1e38.png)
如果异常发生在成功打开文件后,python 跳到except语句执行,并没有执行关闭文件的命令(用户写入文件的数据就可能没有保存起来),因此我们需要确保无论如何(就算出了异常退出)文件也要被关闭,我们应该怎么做呢?
![dc3b527fe2ad2c6288c02be92e382598.png](https://i-blog.csdnimg.cn/blog_migrate/e1999a907cb4564c61875f5cb72f0fcd.png)
请恢复以下代码中马赛克挡住的内容,使得程序执行后可以按要求输出。
![538f68609e84a4f0fc076106ce06e9b8.png](https://i-blog.csdnimg.cn/blog_migrate/f5101093c7a0b0d294eec85fcc76fbde.png)
![db01bc41fcc5dbf2a392348523566047.png](https://i-blog.csdnimg.cn/blog_migrate/a3c4c6c949eb7e126d3518db3f2782ee.png)
动动手:
还记得我们的第一个小游戏吗?只要用户输入非整形数据,程序立刻就会蹦出不和谐的异常信息然后崩溃。请使用刚学的异常处理方法修改以下程序,提高用户体验。
![51a1482e9b007aa62306874eef6bbd49.png](https://i-blog.csdnimg.cn/blog_migrate/f99d3fc69996fd3d3c7ad7fc599d119e.jpeg)
1.input()函数有可能产生两类异常:EOFError(文件末尾endoffile,当用户按下组合键Ctrl+d产生)和KeyboardInterrupt(取消输入,当用户按下组合键Ctrl+c产生),再次修改上边代码,捕获处理input()的两类异常,提高用户体验。
![e0a2d1ac45fcc3c67eda63fba40bbbda.png](https://i-blog.csdnimg.cn/blog_migrate/93862ce8f1678c88fd5c39403edd702f.jpeg)
2. 尝试一个新的函数int_input(),当用户输入整数的时候正常返回,否则提示出错并要求重新输入。
![f8870761a53633ce4aa98ac1cb4b0bb1.png](https://i-blog.csdnimg.cn/blog_migrate/d04868586e6253ee75f3d185a6fe92d1.png)
3.把文件关闭放在finally语句块中执行还是会出现问题,像下边这个代码,当前文件夹中并不存在‘My_File.txt’这个文件,那么程序执行起来会发生什么事情呢?你有办法解决这个问题吗?
![c510bf33629efdcc9c2dce4e3ef05131.png](https://i-blog.csdnimg.cn/blog_migrate/a87a76bad57ec10386b20f4d4b5eb203.jpeg)
课后习题三十(else与with语句):
在Python中,else语句能跟那些语句进行搭配?
![74b138e5869b768d801bcfe61edd28c5.png](https://i-blog.csdnimg.cn/blog_migrate/a04ddfd7b85d04e71a857be6ca2504f4.png)
请问以下例子中,循环中的break语句会跳过else语句吗?
![13c490f8dcde785e0a9d823b08b2e6bc.png](https://i-blog.csdnimg.cn/blog_migrate/50fbfcd31b2c408de066618daeddb506.png)
请目测以下代码会打印什么内容?
![4af3935844a14502ef58d563a5b71bbd.png](https://i-blog.csdnimg.cn/blog_migrate/3e630cf57b83eb7b58dea70d38b480b3.png)
是用什么语句可以使你不必再担心文件打开后却忘了关的尴尬?
![2f368939dd7337d85356d6e5262343e2.png](https://i-blog.csdnimg.cn/blog_migrate/491f6bef81af340b6418904115d85573.png)
使用wth语句固然方便,但如果出现异常的话,文件还会自动正常关闭吗?
![cb48b8f6918c8907de465bf5a722f824.png](https://i-blog.csdnimg.cn/blog_migrate/d95c932efc6cb15888422a7fff14f315.png)
你可以换一种形式写出下边的伪代码吗?
![830044ad9d48bca70cd26dfbbe44aee2.png](https://i-blog.csdnimg.cn/blog_migrate/ee4cab14df806e284640ba43e66e09e3.png)
动动手:
使用with语句改写以下代码,让python去关心文件的打开与关闭把。
![07afb4bb6a411e6e833733dac50ef4b2.png](https://i-blog.csdnimg.cn/blog_migrate/4d3df0a6e7e2b3ba5e8021bbb98f4d5c.png)
你可以利用异常的原理,修改下吗的代码使得更高效率的实现吗?
![25737b69f387c8efac3639c75a2bb53d.png](https://i-blog.csdnimg.cn/blog_migrate/49e939963bdd541424a41214ef0f6701.jpeg)
![d27503cbeb792639ec8c544bc36e0098.png](https://i-blog.csdnimg.cn/blog_migrate/dc6e297d922c01f0cb6017938766531c.png)
课后习题三十一(界面小游戏):
先练练手,把我们的刚开始的那个猜数字小游戏加上界面吧。
![781f9e701f05b94eb6d61b67322d966c.png](https://i-blog.csdnimg.cn/blog_migrate/388a0224009d8eb5dfd2b540ddfed3f9.jpeg)
如下图,实现一个用于等级用户账号信息的界面(如果是带*号的必填项,要求一定要有输入并且不能是空格)。
![7d9b0090463123b139c454d96b4d52f8.png](https://i-blog.csdnimg.cn/blog_migrate/b1ea851530fb039550dcc5225c450f3d.png)
提供一个文件夹浏览框,让用户选择需要打开的文本文件,打开并显示文件内容。
![ffbc55358cdde032e62cfbffc82bc163.png](https://i-blog.csdnimg.cn/blog_migrate/538dbef7eb179bca6f68ed8ae381cf49.png)
在上一题的基础上增强功能:当用户点击‘OK’按钮的时候,比较当前文件是否修改,如果修改过,则‘覆盖保存’,‘放弃保存’或‘另存为...’并实现相应的功能。(提示:解决这道题可能需要点耐心,因为你有可能会被一个小问题卡住,请坚持,自己找到这个小问题并解决他)
![098db096d762e536c6f8f579b04c59c7.png](https://i-blog.csdnimg.cn/blog_migrate/79b1eabab389c202cf337c9fd40a2d17.png)
![9da7ae16b2279be7a58649ed6fe196c7.png](https://i-blog.csdnimg.cn/blog_migrate/fe5597f1ce82733c80092039f027bf3d.jpeg)
写一个程序统计你当前代码量的总和,并显示离十万行代码量还有多远?
要求一:递归搜索各个文件夹
要求二:显示各个类型的源文件和源代码数量
要求三:显示总行数与百分比
截图一:
![1f9c67f8be593c79e0d53159a66c676c.png](https://i-blog.csdnimg.cn/blog_migrate/d1cf517a52d773a128159e61fd630017.jpeg)
![6eedfd5a89e93248c70de7af034de0c2.png](https://i-blog.csdnimg.cn/blog_migrate/784270e68fba38958926e272ed190b2b.jpeg)
课后习题三十二(类和对象):
对象中的属性和方法,在编程中实际是什么?
![4c801f211cbf22724fde6281e0e7949f.png](https://i-blog.csdnimg.cn/blog_migrate/91b9636e35452c2b654183c91b0da53e.png)
类和对象是什么关系?
![9c686d710a18444adcd6e395b0e2860f.png](https://i-blog.csdnimg.cn/blog_migrate/75b3cc0ba8e68c4e6f2ef844b77b1434.png)
如果我们定义了一个猫类,那你能想象出由‘猫‘类实例化的对象有哪些?
![1ca1406cd5f8b2b8ae9e80466700bb3f.png](https://i-blog.csdnimg.cn/blog_migrate/5fdc9fd66acd81fbfe4a26038772e6b2.png)
类的定义有些时候或许不那么‘拟物‘,有时候会抽象一些,例如我们定义一个矩形类,那你会为此添加哪些属性和方法呢?
![70464924fa0ddd6ecfd7bedba2e8e6c8.png](https://i-blog.csdnimg.cn/blog_migrate/0b3a54e2e95a9ee80d97df1950b76e86.png)
类的属性定义应该尽可能抽象还是尽可能具体?
![c2e2da40953833b23f146622333aa282.png](https://i-blog.csdnimg.cn/blog_migrate/66b1d02534443fccb75307f61843a10b.png)
用一句话概括面向对象的几个特征?
![38680803422bf3e90c16a4ceeda4535f.png](https://i-blog.csdnimg.cn/blog_migrate/c049cbf8376282c62f60f2c82f32bb26.png)
函数和方法有什么区别?
![950134a47f63cc9e4aa2bdc6938cfc09.png](https://i-blog.csdnimg.cn/blog_migrate/92d084214f2d31ae34da86ed3969d6cd.png)
动动手:
按照以下提示尝试定义一个person类并生产类实例对象。
按照以下提示尝试定义一个矩形类并生成类实例对象。
![7be1d9d081b05c3f23aae564854aa05e.png](https://i-blog.csdnimg.cn/blog_migrate/b1251452bf84f76c099b1225b9594123.png)
![d27503cbeb792639ec8c544bc36e0098.png](https://i-blog.csdnimg.cn/blog_migrate/dc6e297d922c01f0cb6017938766531c.png)