一. python代码的调试方式
1. 使用print语句打印出来
2. 在编辑工具中,加断点跟踪(打断点)
3. 使用日志模块,输出到日志中
下面我们来看一下如何打断点
二. 环境
python 3.4.4 + pycharm professional edition 2018.1,注意这里尽量用新的版本,能用专业版尽量用专业版,功能更丰富
三. 调试代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
__author__ = '小翟'
'''1、自动贩卖机: 只接受1元、5元、10元的纸币或硬币,最多不超过10块钱。
饮料只有橙汁、椰汁、矿泉水、早餐奶,售价分别是3.5,4,2,4.5。
写一个函数用来表示贩卖机的功能: 用户投钱和选择饮料,并通过判断之后,给用户吐出饮料和找零。
说明:参数有一个为金额,此金额为输入的总金额。'''
drink_price = {
"橙汁" : 3.5 ,
"椰汁" : 4 ,
"矿泉水" : 2 ,
"早餐奶" : 4.5
}
def auto_fanmaiji(money, drink_name):
if money < = 10 :
for drink, price in drink_price.items():
if drink_name = = drink:
if money > price:
print ( "请取出饮料: %s" % drink_name)
print ( "应找您%3.1f元" % (money - price))
elif money = = price:
print ( "请取出饮料: %s" % drink_name)
else :
print ( "sorry, 您的金额不足以买:%s" % drink_name)
else :
continue
else :
print ( "sorry, 本机最大金额不能超过10元,请重试!" )
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://www.cnblogs.com/cnhkzyy/p/9242640.html