12 如何debug

常见的错误:

语法错误:SyntaxError

少了符号

12 如何debug

英文符号打成中文符号

12 如何debug
12 如何debug

"="和"=="混用

12 如何debug
12 如何debug

没有定义变量:NameError

12 如何debug

参数错误:IndexError
参数超出范围:

12 如何debug

对数据类型理解错误:TypeError

12 如何debug

append()只能接受一个参数,但是里面有三个参数

正确写法:

12 如何debug

常见的debug方式:

print()函数

遇到关键步骤时print出来,看是否达到我们所期望的结果,以此来揪出错误的那一步。

不了解数据类型可以通过print()验证

12 如何debug

使用print看看输出的值是否为你想要的

12 如何debug

不报错但可以使用print()进行debug:

12 如何debug

为什么猜0和1都不对呢?使用print看看到底存了什么数

12 如何debug

修改:

将toss强行转化为str类型

12 如何debug

多加注释配合理清思路

12 如何debug

因此,当你写的代码总是不对,又弄不明白哪里不对的时候,使用#号把后面的代码注释掉,一步一步运行,可以帮助排除错误。

被动掉坑,即符合程序逻辑,但不符合人类思维逻辑的程序

12 如何debug

对于int()来说‘abc’是不合法的

try...except捕获bug导致程序中断:

为了不让一些无关痛痒的小错影响程序的后续执行,Python给我们提供了一种异常处理的机制,可以在异常出现时即时捕获,然后内部消化掉,让程序继续运行。当Python脚本发生异常时我们需要捕获处理它,否则程序会终止执行。

这就是try…except…语句,具体用法如下:

12 如何debug

让我们举个例子。刚才的报错,可以查到报错类型是“ValueError”传入无效的参数:

12 如何debug

这个过程大致思路就是我想try尝试执行一下,如果有报错,看看能不能通过except判断出来,如果可以判断出来,执行except下的代码,否则直接报错,中断程序的执行

常用方式(重要):

代码:

12 如何debug

代码要点有两个:
(1)因为不知道用户什么时候才会输入正确,所以设置while循环来接受输入,只要用户输入不是数字就会一直循环,输入了数字就break跳出循环(配合input函数使用)
(2)使用try……except……语句,当用户输错的时候会给予提示。而不会直接导致程序中断

练习:
尝试使用try…except改造此函数,变得更加人性化

12 如何debug
12 如何debug

最后,关于Python的所有报错类型,有需要的话可以在Python 异常处理查阅:https://www.runoob.com/python/python-exceptions.html

课后练习:

找出下列代码的错误,并将其纠正。

deposit = [100,300,900,2000,5000,0,2000,4500]
for i in range(1, len(deposit)):
    times = deposit[i]/deposit[i-1]
    print('你的存款涨了%f倍'%times) 
deposit = [100,300,900,2000,5000,0,2000,4500]
12 如何debug

发布者:LJH,转发请注明出处:https://www.ljh.cool/7835.html

(0)
上一篇 2022年9月12日 下午9:38
下一篇 2022年9月13日 上午3:29

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注