您当前的位置:首页 > 计算机 > 编程开发 > Python

python报错input_分享一个python调试程序的技巧

时间:03-31来源:作者:点击数:

在写程序的过程中,经常会遇到各种bug,而python的报错功能其实非常有限,我们仅仅依靠看报错提示,很难找到哪里出了错误! 今天就分享一个调试python程序的小技巧:

用input中断程序

用print输出可疑的变量

一:什么情况下可疑调试

学过Matlab的同学应该很容易理解我的意思,Matlab中有一个功能是专门用来调试程序的,可以让程序在特定的位置中断。 但是python没有这个功能(特殊的编辑器除外)。 不过我们可以用input中断程序。然后在input中断前print出可疑的变量 我们举一个简单的例子。

a=3b=9c=a+bprint('a+b等于',c)b='l'd=a-bprint('a-b等于',d)

这是一个计算加减法的程序,首先计算a+b,然后打印出a+b。随后,我们还有计算出a-b,并打印出来。这个代码运行后出现了错误。

8b78701bd535ae260855a201255737e2.png

当然,这个简单的错误大家很容易看出来。错误在于第一个print之后,变量b变成了str型。而str型无法和int型的a做加减法运算。导致错误的产生。由于这个程序代码很少,所以大家很容易就看出来了。但是如果是几百行的代码,就很不容易找到错误的源头,这就需要用input中断程序,然后打印出可疑变量。

二:在哪里中断程序

调试程序需要结合报错提示,从报错提示中,我们可以看到是哪一行程序出了错误,然后在这一行的前面那一行中断。之后,还要找出这个出错的一行代码,里面用到了哪些变量,用到的这些变量就是可以变量。

b5d903c693704a0161ce47df6a9b60eb.png

从上面的图我们可以看出,报错的代码是:d=a-b。也就是我用黑色的线画出来的那个。这个代码用到了两个变量进行计算,分别是a和b,报错的意思就是这两个代码的数据类型不合适,不能放在一起计算。

三:print出可以变量

找到出错的代码后,我们还要将里面的可以变量打印出来,也就是a和b。print可疑变量的代码要刚好在input中断之前。这样可以准确的知道这些可疑变量在出错之前的数据类型。

f4f951432b387723472faecea1448349.png

因为变量的数据类型是会变化的,这个变量b在程序运行中变化了,所以不再适合计算。我们打印出a和b的数据类型以后,发现b的数据类型是str。这就是错误的原因。

四:调试程序的延伸

找到错误的变量是b以后,我们还要知道,这个变量是在哪里出错的,这样,我们就需要在变量b出现的不同位置都进行一次print输出,看一看是在哪里出现的错误。这一点没什么技巧,相信大家都能知道怎么做。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门