来源:

https://www.cnblogs.com/my_captain/p/9242640.html

一、python代码的调试方式

1. 使用print语句打印出来

2. 在编辑工具中,加断点跟踪(打断点)

3. 使用日志模块,输出到日志中

下面我们来看一下如何打

二. 环境

python 3.4.4 + Pycharm Professional Edition 2018.1,注意这里尽量用新的版本,能用专业版尽量用专业版,功能更丰富

三. 调试代码

1 __author__ = '小翟'

2

3 '''1、自动贩卖机:只接受1元、5元、10元的纸币或硬币,最多不超过10块钱。

4

5 饮料只有橙汁、椰汁、矿泉水、早餐奶,售价分别是3.5,4,2,4.5。

6

7 写一个函数用来表示贩卖机的功能:用户投钱和选择饮料,并通过判断之后,给用户吐出饮料和找零。

8

9 说明:参数有一个为金额,此金额为输入的总金额。'''

10

11 drink_price = {

12 "橙汁": 3.5,

13 "椰汁": 4,

14 "矿泉水": 2,

15 "早餐奶": 4.5

16 }

17

18 def auto_fanmaiji(money, drink_name):

19 if money <= 10:

20 for drink, price in drink_price.items():

21 if drink_name == drink:

22 if money > price:

23 print("请取出饮料: %s" % drink_name)

24 print("应找您%3.1f元" % (money - price))

25 elif money == price:

26 print("请取出饮料: %s" % drink_name)

27 else:

28 print("sorry, 您的金额不足以买:%s" % drink_name)

29 else:

30 continue

31 else:

32 print("sorry, 本机最大金额不能超过10元,请重试!")

33

34 auto_fanmaiji(7.3, "橙汁")

四. 打断点图解

五. Step Over, Step Into和Step Out的区别

Step Over:在单步执行时,在函数内遇到子函数时不会进入子函数内单步执行,而是将子函数整个执行完再停止,也就是把子函数整个作为一步

注意:在不存在子函数的情况下Step Over是和Step Into效果一样的

Step Into:单步执行,遇到子函数就进入并且继续单步执行(即进入子函数)

Step Out:当单步执行到子函数内时,用Step Out就可以执行完子函数余下部分,并返回到上一层函数

在第14行调用devide函数时打断点

实例1:Step Over的效果

实例2:Step Into的效果

点击Step Into下一步

点击Step Into下一步

点击Step Into下一步

实例3:Step Out的效果

参考文章

https://blog.csdn.net/lanchunhui/article/details/49514297

https://blog.csdn.net/huangfei711/article/details/51220382

恋习Python

关注恋习Python,Python都好练

推荐阅读:

哈工大、哈工程被美国禁用「工科神器」MATLAB!网友直呼:用Python代替吧?!

25 个常用 Matplotlib 图的 Python 代码,收藏收藏!

好文章,我 在看 :heart:

相关文章